直接上三个典型的例子
1.
a = 10
def test():
print(a)
test()
#10
这里我们可以看到test直接使用了"全局变量"a
打印出来就是10
2.
a = 10
def test():
a = 5
print(a)
test()
#5
print(a)
#10
注意:由于重新给a赋值了,这里的test中的a是本地变量,和外面的a不一样
3.
a = 10
def test():
global a
a = 5
print(a)
test()
#5
print(a)
#5
如果在test中定义了global a,test中对于a的修改就会影响到外面的全局变量a
4.
a = 10
def test():
print(a)
a = 5
test()
#error
注意:如果在test里面使用了a之后,系统自动默认函数内的a是全局变量。
但是后面又对a进行了声明,系统就不知道函数内部的a是全局还是本地变量了,就会报错。