模块导入变量

Posted ellisonzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块导入变量相关的知识,希望对你有一定的参考价值。

 主要方法是通过在py文件中模块定义好变量,然后通过import导入全局变量并使用。例:

import global_abc
def foo():
    print global_abc.GLOBAL_A
    print global_abc.GLOBAL_B
    print global_abc.GLOBAL_C
    global_abc.GLOBAL_C = global_abc.GLOBAL_C + 200
    print global_abc.GLOBAL_C
    
if __name__ == __main__:
    foo()
    print global_abc.GLOBAL_A +   + global_abc.GLOBAL_B
    print global_abc.GLOBAL_C

输出如下所示,全局变量结构是可以改变的。

>>> 
hello
world
300
500
hello world
500

PS:应该尽量避免使用全局变量。不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性。对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误。这种错误是很难发现和更正的。同时,全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量。同样,全局变量降低了代码的可读性,阅读者可能并不知道调用的某个变量是全局变量,但某些情况不可避免的需要使用它。



以上是关于模块导入变量的主要内容,如果未能解决你的问题,请参考以下文章

从导入模块中的函数访问全局变量

模块导入---如何在一个文件中导入其它模块,来调用它的变量函数等,以节省代码量

Python Day05 python 环境变量和import模块导入

Python包的导入说明

python 关于 不同模块内类的变量继承和包的模块导入的一些感悟

有条件地导入 python 类的片段