본문 바로가기

파이썬/1. 파이썬 기초

파이썬 스택 프레임(stack frame)

프레임

  • 메모리에서 함수와 함수에 속한 변수가 저장되는 독립공간
  • 전역 프레임의 경우 파이썬 스크립트 전체에서 접근 가능
def sum(a, b):
    c = a + b      # 3번째로 실행
    return c       # 4번째로 실행

def mul(a, b):
    c = a * b      # 1번째로 실행
    print(c)       # 2번째로 실행
    d = sum(a, b)  # 함수 sum으로 이동, 5번째로 실행
    print(d)       # 6번째로 실행
    
mul(2, 3)          # mul 함수 실행
# 6
# 4

위 함수 실행과정처럼 함수는 스택(stack)방식으로 호출된다.

호출된 함수를 수행하던 도중 다른 함수가 호출된다면

가장 나중에 호출된 함수를 수행하고 난뒤 다시 돌아와 나머지를 수행한다.

글로 보면 이해가 안되니 아래 링크 참고

https://dojang.io/mod/page/view.php?id=2341

 

파이썬 코딩 도장: 29.5 함수의 호출 과정 알아보기

지금까지 함수를 만드는 방법을 알아보았습니다. 이번에는 함수 여러 개를 만든 뒤에 각 함수의 호출 과정을 스택 다이어그램(stack diagram)으로 알아보겠습니다. 스택은 접시 쌓기와 같은데 접시를 차곡차곡 쌓고 꺼낼 때는 위쪽부터 차례대로 꺼내는 방식입니다(단, 중간에 있는 접시는 뺄 수 없습니다). 파이썬에서는 접시 쌓기와 방향이 반대인데, 함수가 아래쪽 방향으로 추가되고 함수가 끝나면 위쪽 방향으로 사라집니다. 다음은 덧셈 함수 add와 곱셈 함

dojang.io