더북(TheBook)

3.6 실행 흐름

함수를 처음 사용하기 전에 함수가 정의되어 있다는 것을 보장하려면 실행하는 문장의 순서를 알아야 하는데, 이를 실행 흐름(flow of execution)이라 한다.

실행은 항상 프로그램의 첫 번째 문장에서 시작한다. 문장은 처음에서 끝까지, 한 번에 하나씩 실행된다.

함수 정의는 프로그램의 실행 흐름을 변경하지 않는다. 함수 안에 포함된 문장은 함수가 호출될 때까지 실행되지 않는다는 것도 기억해야 한다.

함수 호출은 실행 흐름에서 우회로와 비슷하다. 다음 문장으로 가는 대신 실행 흐름이 함수의 바디로 점프하고, 거기에 있는 문장들을 실행한 다음에 떠났던 그 위치로 돌아온다.

함수가 다른 함수를 호출할 수 있다고 생각할 때만 해도 이는 꽤 간단하게 들린다. 어떤 함수를 실행하는 중간에 프로그램이 다른 함수의 문장을 수행할지도 모른다. 이어서 새 함수를 실행하는 중에 프로그램이 또 다른 함수를 실행할지도 모른다!

다행히도 파이썬은 실행 흐름이 어디에 있는지 잘 추적하므로 함수가 완료될 때마다 프로그램은 함수를 호출하면서 떠났던 위치로 돌아온다. 실행 흐름이 프로그램의 끝에 도달하면 종료한다.

요약하자면 프로그램을 읽을 때 항상 처음부터 끝까지 읽어야 하는 것은 아니다. 실행 흐름을 따라가는 게 때때로 더 이해하기 쉽다.

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