1. 程式人生 > >python全域性變數和區域性變數

python全域性變數和區域性變數

在函式內部定義的變數叫區域性變數,在函式外定義的變數叫全域性變數

  • 如果全域性變數和區域性變數名稱相同,則在函式內部用的是區域性變數的值,就像就近原則一樣;在函式體外,用的還是全域性變數
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中的可變型別:

  1. 列表 list
  2. 字典 dict

不可變型別

  1. 數值型別 int, long, bool, float
  2. 字串 str
  3. 元組 tuple