全局变量,顾名思义,就是全局都可以使用的变量。一般定义在函数之外,然后函数内部通过global关键字描述,以区分函数内部的普通变量。一般,需要用到全局变量的地方,我都会把这些函数写成一个类,然后通过类属性变量的方法公用一个变量。不过,很多时候用不着大动干戈去写类。
先看一个简单栗子:
a = 0 # initialize variable a def coo(): global a # call a a += 1 return a for i in range(10): print(coo())注意,变量只是一个普通变量,首先在函数外部进行初始化,然后在函数内部通过global关键字呼叫这个变量,就可以实现全局变量的功能了。看输出就知道了,变量a会随着函数coo()的不断运行也在不断变化。输出如下:
1 2 3 4 5 6 7 8 9 10 当然,全局变量不仅仅是数,还可以是其他类型的数据结构,比如:
a = [] def coo(): global a a += [1] return a for i in range(10): print(coo())输出如下:
[1] [1, 1] [1, 1, 1] [1, 1, 1, 1] [1, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]