關於Python的nonlocal用法總結

"""
    說明:
        1、nonlocal聲明的目的是可以使用且修改上級目錄變量
        2、等價於閉包的原理【在此方法旗下所有方法內部是全局變量】
        2、如果僅訪問上級變量,而不修改的情況下,可以省內nonlocal聲明
"""


def aa():
    a = 1

    def bb():
        # 僅聲明纔會改變上級方法的變量
        nonlocal a
        # 因爲修改了a的值,所有必須聲明是修改上級目錄的值
        a = 2
        print(f"第二級方法的a={a}")  # 輸出2

    bb()
    print(f"第一級方法的a={a}")  # 輸出2【已改變】


aa()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章