我试着写一个最简单的例子,我不理解的行为:
档案Main.py
import Module
class Main:
st = 1
def __init__(self):
Main.st = 2
if __name__ == "__main__":
Module.Test() # prints 1
m = Main()
Module.Test() # prints 1
档案Module.py
import Main
def Test():
print(Main.Main.st)
档案Test.py
import Main
import Module
Module.Test() # prints 1
m = Main.Main()
Module.Test() # prints 2
如果我运行Test.py
,我会得到一个预期会收到的答案(一,二)。但如果我运行Main.py
,我会得到一个不同的答案(一,一)。我不明白为什么会这样。