Python静态类变量和导入模块

时间:2015-01-30 15:40:35

标签: python static-members python-import

我试着写一个最简单的例子,我不理解的行为:

档案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,我会得到一个不同的答案(一,一)。我不明白为什么会这样。

0 个答案:

没有答案