python全域性變數和區域性變數
阿新 • • 發佈:2018-12-08
在函式內部定義的變數叫區域性變數,在函式外定義的變數叫全域性變數
- 如果全域性變數和區域性變數名稱相同,則在函式內部用的是區域性變數的值,就像就近原則一樣;在函式體外,用的還是全域性變數
a = 10
def test():
a = 11
print(a)
test()
print(a)
結果
11
10
- 如果想在函式內部修改不可變型別全域性變數的值,則需要global關鍵字修飾
a = 10
print(a)
def test1():
# 如果想修改全域性變數必須加global
global a
a = 100
print("global a %d" %a)
test1()
def test2():
print(a)
test2()
執行結果:
10
100
100
- 在函式內部修改可變型別的全域性變數的值,不需要任何修飾
Python中的可變型別:
- 列表 list
- 字典 dict
不可變型別
- 數值型別 int, long, bool, float
- 字串 str
- 元組 tuple