nonlocal關鍵字用于在一個嵌套的函數中對上一級函數中的變量進行賦值操作。使用nonlocal關鍵字可以讓函數內部的變量指向上一級函數的變量,而不是創建一個新的局部變量。
下面是一個使用nonlocal關鍵字的示例:
def outer_function():
x = 10
def inner_function():
nonlocal x
x = 20
print("Inner function: ", x)
inner_function()
print("Outer function: ", x)
outer_function()
在這個示例中,inner_function中使用nonlocal關鍵字指定了x變量為上一級函數outer_function中的x變量,所以在inner_function中對x的賦值操作會影響到outer_function中的x變量。運行這段代碼會輸出:
Inner function: 20
Outer function: 20