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

溫馨提示×

溫馨提示×

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

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

Python的閉包怎么使用

發布時間:2022-04-12 10:41:05 來源:億速云 閱讀:121 作者:iii 欄目:開發技術

本篇內容介紹了“Python的閉包怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1.閉包的定義和使用

當返回的內部函數使用了外部函數的變量就形成了閉包
閉包可以對外部函數的變量進行保存,還可以提高代碼的可重用性

實現閉包的標準格式:

  • 1.函數嵌套

  • 2.內部函數使用外部函數的變量或參數

  • 3.外部函數返回了內部函數

'''
當返回的內部函數使用了外部函數的變量就形成了閉包
閉包可以對外部函數的變量進行保存,還可以提高代碼的可重用性
實現閉包的標準格式:
    1.函數嵌套
    2.內部函數使用外部函數的變量或參數
    3.外部函數返回了內部函數
'''
 
# 定義一個閉包
def outer():    # 外部函數
    n=1
    def inner():    # 內部函數
        print(n)
    # 外函數返回內函數的引用(不用帶括號哈)
    return inner
 
outer() # 調用外函數不會執行內函數
# inner() # 不能直接調用內函數
ret=outer() # 把內函數的引用給ret
print(ret)
ret()
 
# 閉包的使用
def person(name):
    def say(msg):
        print(f'{name} say:  {msg}')
    return say
 
tom=person('Tom')
rose=person('Rose')
tom('Hello')
rose('World')

2.閉包內函數修改外函數定義的變量(加nonlocal)

def outer():
    n=1
    def inner():
        nonlocal n  # 不加會報錯,列表、字典、元祖不用加
        n=n+10
        print(n)
    print(n)    # 輸出1
    return inner
 
fun=outer()
fun()   # 輸出11
fun()   # 輸出21

“Python的閉包怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

左权县| 凤冈县| 静宁县| 景洪市| 宣城市| 南木林县| 如皋市| 香格里拉县| 邻水| 女性| 双牌县| 富阳市| 五峰| 巴南区| 天长市| 黄龙县| 鹤山市| 修武县| 原平市| 南雄市| 栾城县| 鹤壁市| 尼玛县| 太谷县| 遂昌县| 揭东县| 遵义县| 同江市| 武宣县| 石阡县| 精河县| 鄂尔多斯市| 无棣县| 吴川市| 崇左市| 株洲市| 临邑县| 如皋市| 延吉市| 任丘市| 平凉市|