개인공부
[python] return 과 print 의 차이?
여연찌
2024. 4. 26. 21:59
* 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 만 나온다!