더북(TheBook)

이 프로그램에는 print_lyricsrepeat_lyrics의 함수 정의가 포함되어 있다. 함수 정의는 다른 문장들처럼 실행할 수 있지만, 실제로는 함수 객체를 생성한다. 함수 안의 문장들은 함수가 호출될 때까지 실행되지 않는다. 따라서 함수 정의는 어떤 출력도 생성하지 않는다.

예상했겠지만, 함수를 생성해야 함수를 실행할 수 있다. 다시 말해서 함수 정의를 실행해야 함수를 호출할 수 있다.

연습으로 이 프로그램의 마지막 줄을 최상위로 이동하자. 그러면 함수 호출이 함수 정의보다 먼저 있게 된다. 프로그램을 실행하고 어떤 오류 메시지를 받는지 보자.

이제 함수 호출을 끝으로 이동하고 print_lyrics의 정의를 repeat_lyrics의 정의 다음으로 이동해보자. 프로그램을 실행하면 무슨 일이 일어나는가?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.