創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
創新互聯公司是一家專注于網站建設、成都網站設計與策劃設計,清豐網站建設哪家好?創新互聯公司做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:清豐等地區。清豐做網站價格咨詢:028-86922220小編給大家分享一下python中閉包是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
定義閉包,維基百科上的解釋是:
在計算機科學中,閉包(Closure)是詞法閉包(Lexical Closure)的簡稱,是引用了自由變量的函數。這個被引用的自由變量將和這
個函數一同存在,即使已經離開了創造它的環境也不例外。所以,有另一種說法認為閉包是由函數和與其相關的引用環境組合而成的實
體。
這里的 another 就是一個閉包,閉包本質上是一個函數,它有兩部分組成,printer 函數和變量 msg。閉包使得這些變量的值始終保存在內存中。
閉包,顧名思義,就是一個封閉的包裹,里面包裹著自由變量,就像在類里面定義的屬性值一樣,自由變量的可見范圍隨同包裹,哪里可以訪問到這個包裹,哪里就可以訪問到這個自由變量。
函數身為第一類對象,它可以作為函數的返回值返回,現在我們來考慮如下的例子:
def print_msg(): # print_msg 是外圍函數 msg = "zen of python" def printer(): # printer 是嵌套函數 print(msg) return printeranother = print_msg()# 輸出 zen of pythonanother()
這段代碼和前面例子的效果完全一樣,同樣輸出 "zen of python"。不同的地方在于內部函數 printer 直接作為返回值返回了。
一般情況下,函數中的局部變量僅在函數的執行期間可用,一旦 print_msg() 執行過后,我們會認為 msg變量將不再可用。然而,在這里我們發現 print_msg 執行完之后,在調用 another 的時候 msg 變量的值正常輸出了,這就是閉包的作用,閉包使得局部變量在函數外被訪問成為可能。
看完了這篇文章,相信你對python中閉包是什么意思有了一定的了解,想了解更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道,感謝各位的閱讀!
新聞名稱:python中閉包是什么意思-創新互聯
網站URL:http://vcdvsql.cn/article30/jjsso.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、做網站、品牌網站建設、網站設計公司、微信公眾號、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯