파이썬에서 print() 함수는 문자열이나 숫자를 콘솔에 출력하는 역할을 합니다. 반면 return 문은 함수가 호출될 때 반환값을 화면에 출력하지 않습니다. 대신 return 문은 그 자리에서 즉시 함수를 종료시키는 역할을 하며, 설령 함수의 마지막 문장이 아니더라도 실행되는 순간 함수의 실행이 중단됩니다.
return 문의 핵심 개념
값을 반환하는 함수는 영어로 'fruitful functions(결실을 맺는 함수)'라고 부르기도 합니다. 또한 다른 많은 프로그래밍 언어에서는 값을 반환하지 않는 함수를 '프로시저(procedure)'라고 지칭합니다.
예제 코드를 살펴보겠습니다. 함수 foo()가 호출될 때 반환되는 값(2)은 bar() 함수 내부에서 활용됩니다. 이렇게 반환된 값은 print 문을 사용했을 때에만 콘솔에 출력됩니다.
예제 코드
def foo():
print("Hello from within foo")
return 2
def bar():
return 10 * foo()
print(foo())
print(bar())실행 결과
Hello from within foo 2 Hello from within foo 20
결과 분석
출력 결과에서 주목할 점은, bar() 함수 내부에서 foo()가 호출될 때 foo()가 반환한 값 2가 콘솔에 출력되지 않는다는 것입니다. 대신 이 값은 bar()의 반환값인 20을 계산하는 데 사용됩니다.
즉, return 문은 단순히 값을 화면에 보여주는 것이 아니라, 함수의 결과물을 호출자에게 전달하여 다른 연산이나 로직에서 재사용할 수 있게 해주는 핵심 메커니즘입니다. 이것이 바로 파이썬에서 return 문이 필요한 이유입니다.