"""
說明:
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()