개인공부

[python] return 과 print 의 차이?

여연찌 2024. 4. 26. 21:59

* returnprint 의 차이는?

 

# 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