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

本文针对Python的全局变量实现方法简述如下:

先来看下面一段测试程序:  
 

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]

结果同上

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

05-11 19:40