python实现全局变量

来源:互联网 发布:天天直播网络电视下载 编辑:程序博客网 时间:2024/04/29 03:45

目标:全局变量

先看程序:

复制代码
count = 0def Fuc(count):    print count    count += 1for i in range(0, 10):    Fuc(count)
复制代码

结果是:

不是我们想要的结果。不可变对象count传值,本身并没有改变,在函数内部修改count的值,只是修改一个赋值的对象。

解决之道一——全局变量

复制代码
global aa = 3def Fuc():    global a    print a    a = a + 1if __name__ == "__main__":
global a
for i in range(10): Fuc()
    print 'hello'    print a
复制代码

结果:

           

注意要领:

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

解决之道二——列表

复制代码
a = [3]def Fuc():    print a[0]    a[0] = a[0] + 1if __name__ == "__main__":    global a    for i in range(10):        Fuc()    print 'hello'    print a[0]
复制代码

结果同上

原创粉丝点击