티스토리 뷰

1. inner 를 리턴해서 메모리에서 inner 가 해제되지 않는다.

2. 변수 a 가 해제되지 않는다.

3. 함수형 프로그래밍에서 상태값을 유지할 수 있다.

 

 

def wrapper():
    a = 0

    def inner():
        nonlocal a
        a += 1
        return a
    return inner


f = wrapper()
for _ in range(10):
    print(f())

 

 

 

댓글