코드에서 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를 포함해야 함수가 제대로 정의된다.

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

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

    정답 및 해설

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