欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 非局部變量

張吉惟2年前8瀏覽0評論

Python 中的函數如果想要在函數內部訪問外部函數定義的變量,就需要使用到非局部變量。在 Python 中,我們可以使用 nonlocal 關鍵字來指定一個變量為非局部變量。

def outer():
x = 10
def inner():
nonlocal x
x += 1
print(x)
inner()
print(x)
outer()
輸出結果:
11
11

在上面的例子中,我們在 inner 函數內部訪問了 outer 函數中定義的變量 x。如果沒有使用 nonlocal 關鍵字,x 會被認為是一個局部變量,這樣修改后也不會對外部產生影響。

需要注意的是,如果外部沒有定義該變量,使用 nonlocal 就會報錯,因為 nonlocal 只能用于已經定義的變量。

def outer():
def inner():
nonlocal x
x += 1
print(x)
inner()
print(x)
outer()
輸出結果:
UnboundLocalError: local variable 'x' referenced before assignment

nonlocal 的使用不僅可以修改已有的變量,也可以用于創建新的非局部變量。

def outer():
def inner():
nonlocal x
x = 20
print(x)
inner()
print(x)
outer()
輸出結果:
20
20

在上面的例子中,我們在 inner 函數內部創建了一個新的變量 x,并賦值為 20。這個 x 在函數外部同樣可以訪問。

總結起來,nonlocal 關鍵字可以方便我們在函數內部訪問外部函數定義的變量,使得我們可以靈活的編寫代碼,增強了 Python 語言在函數編程方面的能力。