global適用於函數內部修改全局變量的值
nonlocal適用於嵌套函數中內部函數修改外部變量的值
如果沒有使用以上關鍵字,對全局變量或者外部變量進行修改,python會默認將全局變量隱藏起來
例1:
def outside():
var = 5
def inside():
var = 3
print(var)
inside()
outside()
例2:
def outside():
var = 5
def inside():
print(var) inside函數改變了var所以python將var隱藏了起來,這里的print找不到var因而報錯。
var = 3
inside()
outside()
例1不會顯示報錯,但是例2會