当前位置:Gxlcms > Python > Python实现全局变量的两个解决方法

Python实现全局变量的两个解决方法

时间:2021-07-01 10:21:17 帮助过:58人阅读

本文针对Python的全局变量实现方法简述如下:
先来看下面一段测试程序:

  1. count = 0
  2. def Fuc(count):
  3. print count
  4. count += 1
  5. for i in range(0, 10):
  6. Fuc(count)

运行结果是:

  1. >>>
  2. 0
  3. 0
  4. 0
  5. 0
  6. 0
  7. 0
  8. 0
  9. 0
  10. 0
  11. 0

很显然,这并不是我们想要的结果。

针对这一问题的解决方法就是采用全局变量:

  1. global a
  2. a = 3
  3. def Fuc():
  4. global a
  5. print a
  6. a = a + 1
  7. if __name__ == "__main__":
  8.   global a
  9. for i in range(10):
  10. Fuc()print 'hello'
  11. print a

运行结果为:

  1. >>>
  2. 3
  3. 4
  4. 5
  5. 6
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 12
  12. hello
  13. 13

需要注意:哪里需要全局变量,哪里声明一下;但是函数千万不要传参数,比如用Fuc(a)是不行的。

解决方法2--列表:

示例代码如下:

  1. a = [3]
  2. def Fuc():
  3. print a[0]
  4. a[0] = a[0] + 1
  5. if __name__ == "__main__":
  6. global a
  7. for i in range(10):
  8. Fuc()
  9. print 'hello'
  10. print a[0]

结果同上

列表也可以比较简单的实现这一功能

人气教程排行