中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

万盛区| 虹口区| 东海县| 尖扎县| 南通市| 崇明县| 繁昌县| 岢岚县| 玛沁县| 乃东县| 治县。| 新竹县| 铜川市| 云霄县| 新乐市| 桑植县| 阿鲁科尔沁旗| 绥化市| 宁陕县| 福州市| 会理县| 龙游县| 洛川县| 崇阳县| 明星| 内丘县| 寿宁县| 赣榆县| 镇江市| 进贤县| 黄浦区| 北安市| 中超| 台南市| 宁南县| 云梦县| 曲阜市| 湖南省| 南汇区| 华阴市| 塔河县|