Python作為一種高級編程語言,不僅語法簡單易懂,而且還支持強大的閉包功能。那什么是閉包呢?閉包是指一個函數返回了一個函數,這個返回的函數就是閉包。
閉包特點:
- 返回的函數可以訪問它所在函數的變量,即使它已經在環境中銷毀了。
- 閉包可以修改所在函數的變量。
- 閉包是一等函數,可以作為變量的值傳遞。
使用閉包的例子(計數器)
def counter(): cnt = [0] def add(): cnt[0] += 1 print(cnt[0]) return add c1 = counter() c1() #輸出1 c1() #輸出2 c1() #輸出3 c2 = counter() c2() #輸出1 c2() #輸出2
在這個例子中,我們定義了一個計數器函數counter,它的返回值是一個函數add。每次調用add函數時,計數器會加1并打印出當前計數器的值。
我們通過counter函數創建了兩個計數器c1和c2,它們之間是獨立的。每個計數器有自己的cnt變量,它們不同于其他計數器的cnt變量。
通過閉包,Python還可以實現很多有趣的功能。相信大家在實際編程中會遇到更多閉包的應用場景。