區域性變數

如果名稱繫結在函式內部,則預設情況下只能在函式內訪問:

def foo():
    a = 5
    print(a) # ok

print(a) #  NameError: name 'a' is not defined

控制流構造對範圍沒有影響(except 除外),但是訪問尚未分配的變數是一個錯誤:

def foo():
    if True: 
        a = 5
    print(a) # ok

b = 3
def bar():
    if False:
        b = 5
    print(b) # UnboundLocalError: local variable 'b' referenced before assignment

常見的繫結操作是賦值,for 迴圈和增強賦值,例如 a += 5