더북(TheBook)

오류가 발생합니다. 그리고 기존에는 오류를 표시하는 화살표가 하나였는데, 이번에는 2개고요. 첫 번째 화살표는 func1()에 있습니다. 함수 외부에서는 함수 내부를 볼 수 없기 때문에 첫 번째 화살표에서는 ‘오류 내용은 잘 모르겠지만 func1() 함수를 호출하는 부분에서 오류가 발생했다’고 알려 주기만 합니다. 두 번째 화살표는 호출된 func1() 함수의 어디에서 오류가 발생했는지를 구체적으로 알려 줍니다.

함수 정의가 가장 위에 있지만, 함수가 호출되기 전까지 실행되지 않습니다. 그래서 프로그램이 시작되면 가장 먼저 a, b = 5, 10이 실행되고, 두 번째로 func1() 함수가 호출됩니다. func1() 함수가 호출되고 나서야 func1()에 속한 명령어들이 실행되는 것이죠. 따라서 func1() 함수가 가장 위에 있지만, func1() 내부의 명령어들은 세 번째부터 실행됩니다.

▼ 표 13-2 실행 과정

실행 순서

실행되는 명령어

1

def func1():

 

➡︎ a, b = 5, 10

func1()

2

def func1():

 

a, b = 5, 10

➡︎ func1()

3

def func1():

 

a, b = 5, 10

➡︎ func1()

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