變數作用域

變數的可見範圍稱為作用域。

區域變數

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()

練習

寫一個計數器函數,每次呼叫回傳遞增的數字

💻 程式碼編輯器
📤 執行結果
等待執行...
← 上一課 完成本等級 ✓