我有以下Python代码这在我看来很奇怪的行为:蟒蛇进口ED变量保持相同的值,但它正在改变
进口模块:
# ChangeVar.py
def Print1():
print "1--"
def Print2():
print "2--"
Print=Print1
def Change():
global Print
Print=Print2
主要模块:
#UseVar.py
from ChangeVar import *
Print()
Print()
Change()
Print()
Print()
我希望这个代码打印follwing:
1--
1--
2--
2--
但我得到的却是:
1--
1--
1--
1--
可能有人点我的蟒蛇参考的右侧部分或解释为什么我没有得到预期的行为?
感谢,
尤利安
我愿意接受任何建议,我很欣赏向我展示更清洁的方式。确切地说:'Print'是一个日志记录功能,应该简单地用函数名称('Print' - 而不是'Module.Print')来调用 – INS 2012-02-05 20:22:30
@INS首先,我会推荐一个描述性名称 - 日志将是适当的,不与内部冲突。为什么你需要在不指定名称空间的情况下调用它?通常将这些事情分开是个好主意。 – 2012-02-05 20:28:49