python閉包詳解 例項演示

2021-07-02 03:06:01 字數 1092 閱讀 1325

python閉包詳解+例項演示

「閉包」這個詞語相信大多數學過程式設計的同學並不陌生,但是有時候理解起來還是有一定難度。先看定義:

閉包是由函式和與其相關的引用環境組合而成的實體。比如參考資源中就有這樣的的定義:在實現深約束時,需要建立乙個能顯式表示引用環境的東西,並將它與相關的子程式**在一起,這樣**起 

來的整體被稱為閉包。

python閉包(closure)其實並不是什麼很複雜的東西。

通俗的講就是:如果在乙個內部函式裡,對在外部作用域(但不是在全域性作用域)的變數進行引用,那麼內部函式就被認為是閉包(closure)。它只不過是個「內層」的函式,由乙個名字(變數)來指 

代,而這個名字(變數)對於「外層」包含它的函式而言,是本地變數。

看到這裡或許你依然不明白什麼是閉包,沒關係,看完下面的小例子你一定會明白!

4 5 #定義乙個函式

6 def plus(number):

7 8 #在函式內部再定義乙個函式,其實這個裡面的函式就被認為是閉包

9 def plus_in(number_in):

10 #這裡列印一下number_in變數,以便大家可以更清楚傳進來的變數時哪乙個

11 print str(number_in) + "\r\n"

12 13 return number+number_in

14 #其實這裡返回的就是閉包的結果

15 return plus_in

16 17

18 #給plus函式賦值,這個20就是給引數number

19 v1=plus(20)

20 21 #注意這裡的100其實給引數number_in

22 23 print v1(100)

執行結果:

注意:100是print str(number_in) + "\r\n"列印的結果哦

python閉包的例項詳解

1 在外部函式中定義內部函式,內部函式包含訪問外部函式。即使外部函式的生命週期結束後,內部函式仍然可以訪問外部函式變數。2 外部函式的返回值是內部函式本身。def outer cheer hello def inner name return cheer name return inner if n...

Python中的閉包例項詳解

這篇文章主要介紹了python中的閉包,針對閉包的定義 用法及注意事項進行了例項講解,有助於讀者深入理解閉包的概念及用法,需要的朋友可以參考下 一般來說閉包這個概念在很多語言中都有涉及,本文主要談談python中的閉包定義及相關用法。python中使用閉包主要是在進行函式式開發時使用。詳情分析如下 ...

Python 閉包詳解

一 python變數作用域問題 time 0 全域性變數 def insert time min time time min 區域性變數 return time print insert time 2 print insert time 10 unboundlocalerror local vari...