def 함수 print,return차이
, 김 정수님이 작성안녕하세요 질문있습니다.
def name():
return
def name():
이 둘의 차이가 이해가 안가는데,,,,설명부탁드립니다.ㅜㅜ
Re: def 함수 print,return차이
, 도장_ 관리자님이 작성저도 차이를 모르겠는데요?
둘 다 아무 것도 안 합니다.
return이면 리턴했으니 함수 실행이 끝났고, 아무 것도 안 하죠. 값을 반환하지도 않죠.
print이면 아무 것도 출력하지 않았고, 함수 실행이 끝났고 아무 것도 안 하죠.
코딩 도장 책의 질문은 아닌 것 같고,
누군가 이런 코드로 질문을 했다면 의미 없는 질문입니다.
여기에 시시콜콜한 의미를 부여해봤자 실무에서 이런 코드는 작성하지도, 쓰지도 않고,
이런 걸 코딩 면접에서 물어보는 경우도 없죠. 애초에 이런 걸 물어보는 회사가 있다면 입사하면 안 됩니다.
업무 지식과 스킬이 아니라 지엽적인 걸 묻는 면접을 보는 회사는 좋은 회사가 되기 어렵습니다.
파이썬의 print() 함수가 C 언어의 printf처럼 출력한 문자열의 수를 반환하는 함수이면 모르겠으나 그런 것도 아니죠.
return이면 None이고, print는 출력이 없으니 정수 0을 반환한다는 차이가 있다면 모르겠으나 파이썬에는 그런 차이도 없습니다.
아래 IDLE 코드를 보면 모두 다 NoneType이죠.
>>> def name():
print
>>> name()
>>> a = name()
>>> a
>>> id(a)
1504934676
>>> id(name)
72156552
>>> def name2():
return
>>> name2()
>>> b = name2()
>>> b
>>> id(b)
1504934676
>>> type(a)
<class 'NoneType'>
>>> type(b)
<class 'NoneType'>
>>> c = print('hello')
hello
>>> c
>>> id(c)
1504934676
>>> type(c)
<class 'NoneType'>
>>>
>>> name()
>>> a = name()
>>> a
>>> id(a)
1504934676
>>> id(name)
72156552
>>> def name2():
return
>>> name2()
>>> b = name2()
>>> b
>>> id(b)
1504934676
>>> type(a)
<class 'NoneType'>
>>> type(b)
<class 'NoneType'>
>>> c = print('hello')
hello
>>> c
>>> id(c)
1504934676
>>> type(c)
<class 'NoneType'>
>>>
무시하세요. 의미 없는 질문입니다.