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