nonlocal關鍵字用于在嵌套函數中修改外層(非全局)變量。
在Python中,當在嵌套函數中想要修改外層函數的局部變量時,通常會使用nonlocal關鍵字。nonlocal關鍵字用于聲明變量為非全局變量,以便在嵌套函數中修改外層函數的局部變量。
下面是nonlocal關鍵字的用法示例:
def outer_func():
x = 10
def inner_func():
nonlocal x
x = 20
inner_func()
print(x) # 輸出結果為 20
outer_func()
在上面的示例中,內層函數inner_func()使用nonlocal關鍵字聲明變量x為非全局變量,并將其值修改為20。然后在外層函數outer_func()中,調用inner_func()并打印變量x的值。由于使用了nonlocal關鍵字,內層函數修改了外層函數的局部變量x的值,因此輸出結果為20。