코드에서 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를 포함해야 함수가 제대로 정의된다.
④ 코드 (나) 아래에서 코드 (가)를 실행해야 오류가 발생하지 않는다.
⑤ 코드 (나) 아래에서 코드 (가)를 실행하면 ‘일어날 시간입니다!’만 출력되고 ‘빨리 일어나세요!’는 출력되지 않는다.