zoukankan      html  css  js  c++  java
  • 零基础学python-16.5 模块间全局变量的修改以及其他访问全局变量的方法

    这一章节我们来讨论一下python里面模块间全局变量的修改以及其他访问全局变量的方法

    1.模块间全局变量的修改

    x=1#全局变量,其实就是模块里面所有的函数都可以使用
    def test():
        print(x)
    if __name__=='__main__':             
            test()
    

    上面的代码保存为test.py

    import test
    if __name__=='__main__':
            test.x=2
            test.test()
            print(test.x)
    

    上面的代码保存为test2.py

    我们运行test2.py

    输出:

    >>> ================================ RESTART ================================
    >>> 
    2
    2
    >>> 

    虽然上面的代码实现了模块间全局变量的修改,但是我们并不推荐使用这种方法,因为:在大型应用里面,存在非常多的修改,如果而且这种跨模块的修改对于以后的维护非常麻烦

    2.其他访问全局变量的方法

    x=1#全局变量,其实就是模块里面所有的函数都可以使用
    def test1():
        x=6
        print('test1:'+str(x))
    def test2():
        global x
        x+=1
        print('test2:'+str(x))
    def test3():
        import test
        test.x+=1
        print('test3:'+str(test.x))
    def test4():
        import sys
        module=sys.modules ['test']
        module.x+=1
        print('test4:'+str(module.x))
    if __name__=='__main__':             
            test1()
            test2()
            test3()
            test4()
            print(x)
    

    上面的代码保存为test.py


    运行输出:

    >>> ================================ RESTART ================================
    >>> 
    test1:6
    test2:2
    test3:2
    test4:3
    2
    >>> 

    从上面的结果可以看见,虽然其他的都有所改变,但是最后的x还是只是因为使用了global那个语句猜改变的,其他的到没有什么变化


    总结:这一章节简单介绍了模块间全局变量的修改以及其他访问全局变量的方法


    这一章节就说到这里,谢谢大家

    ------------------------------------------------------------------

    点击跳转零基础学python-目录

     


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    php-浅谈php底层机制
    Apache-三种工作模式(prefork/ worker/Event)
    java入门了解01
    webserivce通过httppost方式调用
    sqlserver 打开 database diagrams 报错:error code 0x54b
    redhat7,redhat6 替换yum
    虚拟机网络配置的一点总结
    搭建sqlserver AlwaysOn
    NSSM-将服务变为window service
    JavaMelody-监控jvm性能
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896737.html
Copyright © 2011-2022 走看看