궁금증 연구소

def func():
	return
    
    
print(func())

안녕하세요. 궁금증연구소입니다.

오늘 포스팅 주제는 "return과 print의 차이점 "입니다.

 

처음에 파이썬 배우면 return과 print의 개념이 매우 헷갈립니다.(저는 그랬습니다..ㅠㅠ)

 

def example() :
	print('이것은 예시입니다')

위와 같은 example 함수가 있을 때, 실행문에 return이 없다면, (지금은 print문만 있습니다.)

파이썬 내부적으로 return None을 자동적으로 붙여주게 됩니다.

 

예시 출력값

example 함수를 print문 없이 호출만 하게 되면 example 함수 내부의 print문만 실행이 되어 '이것은 예시 입나다'라는

문장만 출력되어 보입니다.

 

print() 문의 매개변수 값으로 example()을 넣으면 함수 내부의 print문이 출력된 후, 함수의 return 값이 없기 때문에 끝에 'None'이 같이 출력되는 것을 볼 수 있습니다.

 

 

또 다른 예를 한번 살펴보겠습니다.

 

def func():

	return
    
print(func())

위와 같은 코드가 있다면 결과가 어떻게 될까요?

 

네 return 뒤에 값이 없으므로 func() 함수의 리턴 값은 자동적으로 None이 됩니다.

 

즉 이를 print() 문으로 출력해주면 None이 출력됩니다.

 

a = print('mega')

print(a)

위 코드의 결과는 어떻게 될까요? 

 

한번 충분히 생각해보시고 답을 보시기 바랍니다.

 

 

 

정답~

정답

def print()는 파이썬의 내장 함수로 return값이 없는(None) 함수입니다. 따라서 print함수의 결과는 파라미터 같은 값을 출력한 후 None을 돌려주게 됩니다.

 

이경우엔?

위와 같이 print문을 중첩해서 써보니 확실히 알 수 있네요.

 

정리

print()는 단순 출력용도
return은 함수 내부에서 만들어낸 실제값을 가져오는 것

print() 자체도 함수이고, 이 함수는 return값이 없는 특징을 가진다. 즉 return값이 None

 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading