Python 导入后更改模块变量
所以,派顿大师!我刚刚发现了一个我不理解的惊人现象。问题最好以代码形式显示:Python 导入后更改模块变量,python,python-2.7,import,circular-reference,Python,Python 2.7,Import,Circular Reference,所以,派顿大师!我刚刚发现了一个我不理解的惊人现象。问题最好以代码形式显示: #== kid.py ==# import dad def spam (): dad.spam() #== dad.py ==# import kid x = 1 print "body", x x = 2 def spam (): print "spam", x if __name__ == '__main__': x = 3 spam() kid.spam()
#== kid.py ==#
import dad
def spam ():
dad.spam()
#== dad.py ==#
import kid
x = 1
print "body", x
x = 2
def spam ():
print "spam", x
if __name__ == '__main__':
x = 3
spam()
kid.spam()
print "main", x
我正在使用Python 2.7.3。你能猜出python dad.py的输出吗?答案是(我希望有一个扰流板阴影标签)body 1 body 1 spam 3 spam 2 main 3
。你能解释一下吗
dad.x!=kid.dad.x
bekid.dad.x
\uuuu主模块
独立于导入dad.py作为dad
模块\uuuuu main\uuuuu
。但总的来说,不要尝试这个。找到完成任务的另一种方法(例如上课)\uuuuu name\uuuuuuu
将说明这一点
\uuuu主模块
独立于导入dad.py作为dad
模块\uuuuu main\uuuuu
。但总的来说,不要尝试这个。找到完成任务的另一种方法(例如上课)在dad.py顶部打印
\uuuuu name\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu!然后我将它作为模块运行。谢天谢地!哈哈,\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu!然后我将它作为模块运行。谢天谢地!