* return 과 print 의 차이는?
# return 은 밖으로 끄집어내서 무언가에 담을 수 있다.
# print 는 그냥 출력만 해주고 끝난다. 보여주기만 함, 담을 수가 없다!
data = [2, 4, 6, 8, 10]
class DataPreprocessor:
def __init__(self, data):
self.data = data
def calculation(self):
print(f"평균:{sum(data)/len(data)}")
# print 는 그냥 보여주고 끝난다
dab = DataPreprocessor(data)
result = dab.calculation()
# dab.calculation() 이 있어서 나옴
> 평균: 6.0
dab.calculation()
# 여기서는 위 함수에서 print 로 출력을 해줬기 때문에 나옴
> 평균: 6.0
print(dab.calculation())
# 여기서는 dab.calculation() 이 먼저 실행이 되어 이 자체의 결과값이 나오지만
# 이 안에 내보낼 수 있는게 없기 때문에 print 에서는 출력을 하지 못함
> 평균: 6.0
> None
print(result)
# print 로 출력만 했기 때문에 result 에는 담아지지 않는다.
> None
*
3번째 print(dab.calculation()) 의 경우 결과값이 2개가 나오는 이유
저 코드를 뜯어보면
기본적으로 print(변수()) 를 하게 되면
① 변수의 값을 ② print 한 결과값이 나온다.
print(dab.calculation())
이 코드의 경우에는 뜯어보면
print( print(f"평균:{sum(data)/len(data)}") )
이렇게 구성되어 있다.
① dab.calculation()
를 실행하여 평균: 6.0 이 출력은 되지만 다른 무언가에 담지를 못하기 때문에
② print(dab.calculation())
를 실행하게 되면 None 가 나온다
정리해보자면
print(print())
이런 식이기 때문에 print 하고 print 해서 결과가 2개가 나온 것!
만약, dab.calculation() 안에 print 문구가 없다면
print(dab.calculation())
이 실행결과에서는 None 만 나온다!
'개인공부' 카테고리의 다른 글
[Python] Pandas 함수 정리 (0) | 2024.05.09 |
---|---|
파이썬 개인 과제 (0) | 2024.05.02 |
[python] 빈 리스트 생성 [] 와 list() 의 차이 (0) | 2024.04.04 |
SQL 코드카타 (0) | 2024.03.31 |
파이썬 알고리즘 코드카타 (1) | 2024.03.30 |