4.4global

207 阅读1分钟

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