亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

永德县| 贡嘎县| 伊宁市| 和平县| 称多县| 岫岩| 江津市| 莱州市| 宝丰县| 敖汉旗| 天峨县| 辽源市| 浦县| 志丹县| 峨山| 永丰县| 东明县| 马关县| 玉树县| 柳林县| 榆社县| 明水县| 伊春市| 横峰县| 苏尼特右旗| 霍林郭勒市| 济阳县| 农安县| 大厂| 兴安县| 建湖县| 内丘县| 玉树县| 雷州市| 繁峙县| 台中县| 通山县| 临猗县| 北碚区| 临西县| 县级市|