4.4global

伊念發表於2019-04-04

python3裡面對全域性變數只能引用不能修改,如果修改需要加上global宣告。

b = 12#一般b沒有初始值不會報錯
#但GUI和建立類的例項混合程式碼可能會報錯
def get():
    global b
    b = b + 2
    return b
print(get())
14
複製程式碼
L = [1, 2]
def get():
    L = 2
    return L
print(get())
print(L)
#get()函式內部的L看成了初始化了一個區域性變數的操作,而全域性的L並沒有改變。
2
[1, 2]
複製程式碼
L = [1, 2]
def get():
    global  L
    L = 2
    return L
print(get())
print(L)
#以上程式碼就會修改外部的全域性變數
2
2
複製程式碼
b = 12
def get():
    return b
print(get())
#完全ok
12
複製程式碼
b = 12
def get():
    b = b + 2
    return b
print(get()
#報錯
複製程式碼
def get():
    global b
    b = 4
    b = b + 2
    return b
print(get())
print(b)
#還能這樣用
6
6
複製程式碼