def 마법() :
print('천재')
마법()
천재
라고 출력되지만
def 마법() :
return('천재')
마법()
아무것도
출력되지 않는다.
return은 오른쪽에 있는 자료를 마법 실행하고나서 뱉어라는 뜻입니다.
마법()을 실행한 자리에 마법이라는 글자를 지우고 천재를 남겨주세요 라는 뜻이기 때문이다.
출력하고 싶으면
def 마법() :
return('천재')
print(마법())
이렇게 하면 됩니다
https://docs.python.org/ko/3/tutorial/controlflow.html#defining-functions