Python实现全局变量的两个解决方法
本文针对Python的全局变量实现方法简述如下:
先来看下面一段测试程序:
count=0 defFuc(count): printcount count+=1 foriinrange(0,10): Fuc(count)
运行结果是:
>>> 0 0 0 0 0 0 0 0 0 0
很显然,这并不是我们想要的结果。
针对这一问题的解决方法就是采用全局变量:
globala a=3 defFuc(): globala printa a=a+1 if__name__=="__main__": globala foriinrange(10): Fuc()print'hello' printa
运行结果为:
>>> 3 4 5 6 7 8 9 10 11 12 hello 13
需要注意:哪里需要全局变量,哪里声明一下;但是函数千万不要传参数,比如用Fuc(a)是不行的。
解决方法2--列表:
示例代码如下:
a=[3] defFuc(): printa[0] a[0]=a[0]+1 if__name__=="__main__": globala foriinrange(10): Fuc() print'hello' printa[0]
结果同上
列表也可以比较简单的实现这一功能