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-目录

     


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

  • 相关阅读:
    任务18格式化
    任务17分区
    任务16 BIOS与CMOS
    任务15硬件组装过程说明
    任务14选配机箱
    任务13选配电源
    任务12选配显卡
    任务11选配机械硬盘
    任务10选配固态硬盘
    Android自定义控件:动画类(八)----ObjectAnimator基本使用
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896737.html
Copyright © 2011-2022 走看看