Python 作用域
變數僅在其建立的區域內可用。這被稱為作用域。
區域性作用域
在函式內部建立的變數屬於該函式的區域性作用域,並且只能在該函式內部使用。
函式內的函式
如上例所示,變數 x
在函式外部不可用,但在函式內部的任何函式中都可用
全域性作用域
在 Python 程式碼的主體中建立的變數是全域性變數,屬於全域性作用域。
全域性變數在任何作用域(全域性和區域性)中都可用。
命名變數
如果在函式內部和外部操作同一個變數名,Python 會將其視為兩個獨立的變數,一個在全域性作用域(函式外部)可用,一個在區域性作用域(函式內部)可用
Global 關鍵字
如果你需要建立一個全域性變數,但被困在區域性作用域中,你可以使用 global
關鍵字。
global
關鍵字使變數成為全域性變數。
另外,如果你想在函式內修改全域性變數,請使用 global
關鍵字。
示例
要在函式內修改全域性變數的值,請使用 global
關鍵字引用該變數
x = 300
def myfunc()
global x
x = 200
myfunc()
print(x)
自己動手試一試 »
Nonlocal 關鍵字
nonlocal
關鍵字用於處理巢狀函式內的變數。
nonlocal
關鍵字使變數屬於外部函式。
示例
如果你使用 nonlocal
關鍵字,該變數將屬於外部函式
def myfunc1()
x = "Jane"
def myfunc2()
nonlocal x
x = "hello"
myfunc2()
return x
print(myfunc1())
自己動手試一試 »