더북(TheBook)

코드에서 hello() 함수를 정의하는 부분이 호출하는 부분보다 아래에 있죠. 프로그램은 위에서부터 아래로 실행되는 순차구조이기 때문에 hello()를 호출하기 전에 hello()가 정의돼야 합니다. 오류 내용에도 ‘hello()가 정의되지 않았다’고 나오네요.

def hello():
    print('hello!')
    print('My name is Python!')

hello()
실행결과
hello!
My name is Python!

hello() 함수를 정의하는 부분을 위로 올리고 그 후에 함수를 호출하니 오류가 발생하지 않습니다.

1분 퀴즈

1 다음 중 틀린 것을 고르세요.

코드 (가)

코드 (나)

wakeup()
def wakeup():
    print('일어날 시간입니다!')
    print('빨리 일어나세요!')

① 코드 (가)는 함수 wakeup()을 호출한다.

② 코드 (나)는 함수 wakeup()을 정의한다.

③ 코드 (나)의 def를 포함해야 함수가 제대로 정의된다.

④ 코드 (나) 아래에서 코드 (가)를 실행해야 오류가 발생하지 않는다.

⑤ 코드 (나) 아래에서 코드 (가)를 실행하면 ‘일어날 시간입니다!’만 출력되고 ‘빨리 일어나세요!’는 출력되지 않는다.

정답 및 해설

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