/

Python 閉包

Python 閉包

之前我們已經看過如何在 Python 中建立巢狀函式。

如果從函式中返回一個巢狀函式,那個巢狀函式可以訪問該函式中定義的變數,即使該函式已經不再活動。

以下是一個簡單的計數器範例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def counter():
count = 0

def increment():
nonlocal count
count = count + 1
return count

return increment

increment = counter()

print(increment()) # 1
print(increment()) # 2
print(increment()) # 3

我們返回了 increment() 內部函式,而該函式仍然可以訪問到 count 變數的狀態,即使 counter() 函式已經結束。

tags: [“Python”, “閉包”, “函式”]