时间:2021-07-01 10:21:17 帮助过:58人阅读
- count = 0
- def Fuc(count):
- print count
- count += 1
- for i in range(0, 10):
- Fuc(count)
运行结果是:
- >>>
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
很显然,这并不是我们想要的结果。
针对这一问题的解决方法就是采用全局变量:
- global a
- a = 3
- def Fuc():
- global a
- print a
- a = a + 1
- if __name__ == "__main__":
- global a
- for i in range(10):
- Fuc()print 'hello'
- print a
运行结果为:
- >>>
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- hello
- 13
需要注意:哪里需要全局变量,哪里声明一下;但是函数千万不要传参数,比如用Fuc(a)是不行的。
解决方法2--列表:
示例代码如下:
- a = [3]
- def Fuc():
- print a[0]
- a[0] = a[0] + 1
- if __name__ == "__main__":
- global a
- for i in range(10):
- Fuc()
- print 'hello'
- print a[0]
结果同上
列表也可以比较简单的实现这一功能