共計 642 個字符,預計需要花費 2 分鐘才能閱讀完成。
閉包是指在一個函數內部定義的函數,并且內部函數可以訪問外部函數的局部變量。具體來說,閉包是由函數對象和其引用環境組合而成的實體。
閉包在 Python 中的使用場景如下:
- 返回函數:可以在一個函數內部定義一個函數,并將其作為返回值返回。這樣,返回的函數就是一個閉包,它可以訪問外部函數的局部變量。這種方式常用于實現函數工廠,可以根據不同的參數返回不同的函數。
示例代碼如下:
def outer_func(x):
def inner_func(y):
return x + y
return inner_func
closure = outer_func(10)
print(closure(5)) # 輸出 15
- 保持函數狀態:由于閉包可以訪問外部函數的局部變量,并且外部函數的局部變量在閉包的生命周期內都會被保存下來,所以可以利用閉包來保持函數的狀態。這種方式常用于實現裝飾器和回調函數。
示例代碼如下:
def counter():
count = 0
def increment():
nonlocal count
count += 1
return count
return increment
counter1 = counter()
print(counter1()) # 輸出 1
print(counter1()) # 輸出 2
counter2 = counter()
print(counter2()) # 輸出 1
print(counter2()) # 輸出 2
通過閉包,每個 counter 實例都有自己獨立的 count 變量,并且可以保持自己的狀態。
丸趣 TV 網 – 提供最優質的資源集合!
正文完