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

     


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

  • 相关阅读:
    013开发板系统安装准备
    012开发板串口连接
    011OK6410开发板介绍
    010GCC程序编译
    009Linux密码故障排除
    vue 中的solt的用法
    vue solt的应用场景
    Typescript 用接口模拟ajax请求
    Typescript方法重载实现系列二
    Typescript中方法重载的实现
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896737.html
Copyright © 2011-2022 走看看