我使用的是一个导入模块并使用其功能和变量的python程序(版本2.7),如下所示。
这是模块。
# module.py
variable = 2
def function(number):
global variable
variable = number
这是使用该模块的程序。
# program.py
from module import *
print variable
function(1)
print variable
该程序打印以下内容:
2
2
但是,如果您将program.py
更改为:
# program.py
import module
print module.variable
module.function(1)
print module.variable
程序打印出来:
2
1
我不知道为什么会这样。任何见解都会有所帮助。
谢谢,
海龟
答案 0 :(得分:0)
使用global
关键字无法实现您的目标。
在python中,全局变量仅全局到模块并且不在模块之间共享(不像在例如C中那样)。有关此主题的更多信息,另请参阅this PEP。
此外,你在你的例子中所做的是丑陋的全球滥用,导致无法维护和难以调试的程序。根据您的具体情况,有更好的方法可以做到这一点。