정보 수업시간에 파이선을 배우는데 return vs print 차이 헷갈리는 게 있어서요. return과 print의 차이를 알고 있으나 다음 코드에서 의문이 생겼습니다. 사진에서 print (d)가 None 이 나오는 이유를 모르겠습니다. 함수 add (a, b)가 print를 하기 때문에 계산값을 단순히 보여주기만 하고 함숫값으로 저장하진 않는다는 것까지는 알겠는데요, 변수 d가 add (4,5)라고 정의를 해주었기 때문에 print (d)를 하면 9가 나와야 하는 것 아닌가요? 왜 저렇게 나오는지 모르겠습니다. 파이선 return vs print 차이점과 개념을 정확하게 알려주시면 감사하겠습니다.

파이썬에서 return과 print의 차이점 이해하기
안녕하세요! 오늘은 프로그래밍 학습에 있어서 자주 혼동되는 개념인 return과 print의 차이점에 대해 알아보겠습니다. 프로그래밍을 처음 접하시는 분들도 쉽게 이해할 수 있도록 도와드리겠습니다.
return과 print 기본 개념
먼저, 이 두 개념의 기본적인 차이점을 알아보겠습니다.
- print 함수는 단순히 우리가 지정한 값을 화면에 출력해 줍니다. 즉, 값을 보여주는 역할을 합니다.
- return은 함수가 특정 작업을 수행한 후 그 결괏값을 반환합니다. 이 반환된 값은 다른 변수에 저장하거나 다른 함수에서 사용할 수 있습니다.
이 두 개념의 차이를 이해하는 것은 파이썬뿐만 아니라 프로그래밍 전반에 걸쳐 매우 중요합니다.
혼동을 일으키는 상황이 무엇인가요?
이제 여러분이 혼동할 수 있는 한 가지 상황을 살펴보겠습니다.
def add(a, b):
c = a + b
print(c)
d = add(4, 5)
print(d)
위 코드에서 add 함수는 두 수를 더한 후 그 결과를 print를 통해 화면에 출력합니다. 그러나 이 함수는 값을 return 하지 않습니다. 따라서 d = add(4, 5)라고 해도 d에는 아무런 값도 저장되지 않습니다. 정확히 말하면, 파이썬에서 함수가 값을 반환하지 않을 때 기본적으로 None을 반환하기 때문에 d에는 None이 저장됩니다. 그래서 print(d)를 하면 화면에 None이 출력되는 것입니다.
해결 방법
이 문제를 해결하기 위해서는 함수가 값을 return 하도록 수정해야 합니다.
def add(a, b):
c = a + b
print(c) # 화면에 출력
return c # 값 반환
d = add(4, 5)
print(d)
함수를 이렇게 수정하면, add 함수는 두 수를 더한 결과를 먼저 화면에 출력한 후, 그 값을 return 합니다. 따라서 d에는 9가 저장되고, 이후 print(d)를 통해 화면에 9가 다시 출력됩니다.
정리
- print는 단순히 값을 화면에 출력하는 역할을 합니다.
- return은 함수가 작업한 결괏값을 반환하는 역할을 하며, 이 반환값은 다른 변수에 저장하거나 다른 함수에서 사용할 수 있습니다.
- 함수에서 return을 사용하지 않으면, 해당 함수는 기본적으로 None을 반환합니다.
파이썬 공부와 프로그래밍 학습에 도움이 되었기를 바랍니다. 감사합니다.
댓글 개