變數作用域
變數的可見範圍稱為作用域。
區域變數
def func():
x = 10 # 區域變數
print(x)
func()
print(x) # NameError,函數外無法存取
全域變數
x = 10 # 全域變數
def func():
print(x) # 可以讀取
func() # 10
global 關鍵字
x = 10
def func():
global x # 宣告使用全域變數
x = 20
func()
print(x) # 20
nonlocal 關鍵字
def outer():
x = 10
def inner():
nonlocal x # 使用外層函數的變數
x = 20
inner()
print(x) # 20
outer()
練習
寫一個計數器函數,每次呼叫回傳遞增的數字
💻 程式碼編輯器
📤 執行結果
等待執行...