91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中閉包是什么意思

發布時間:2020-07-31 14:22:55 來源:億速云 閱讀:170 作者:清晨 欄目:編程語言

小編給大家分享一下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中閉包是什么意思有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

手游| 衡东县| 乡城县| 循化| 建水县| 云浮市| 宁城县| 航空| 凌海市| 鄂伦春自治旗| 名山县| 洪雅县| 鄂州市| 乐陵市| 泗水县| 那曲县| 长海县| 绥江县| 化州市| 桦甸市| 万山特区| 江陵县| 页游| 宁陵县| 葵青区| 中西区| 临安市| 伊宁市| 丽水市| 宽甸| 嘉定区| 广州市| 肃北| 张家港市| 白河县| 松江区| 连州市| 新沂市| 迁安市| 会昌县| 诸城市|