Python:在导入 class 后打印在 __init__.py 中声明的变量

Python: Printing a variable declared in __init__.py after importing a class

我有一个名为 main.py 的文件,在它旁边有一个名为 mymodule 的文件夹,其中包含 __init__.pymyclass.py 个文件。

在我的main.py中想要导入mymodule,但这还不是全部;我在 __init__.py 中有一个名为 version = '1.0' 的变量,我想在导入 mymodule.

后从 main.py 打印它

认为__init__.py的工作方式是当我导入mymodule时,__init__.py首先得到"ran"?所以我想测试这个 "theory" 我把一个变量放在 __init__.py 中并在导入 mymodule.

后打印它

mymodule 中只有一个简单的 class 声明:

class MyClassWithCtor:

    def __init__(self, number1, number2):
        self.number1 = number1;
        self.number2 = number2;
        self.multi = self.__multiply()

    def __multiply(self):
        return self.number1 * self.number2

我只是在实例化 class 之后用它打印出 multi 变量,所以我知道它可以正常工作。

总之:

我不太明白你的问题是什么,或者 class 有什么关系。

直接在 __init__.py 中定义的变量在包的命名空间中可用。

from mymodule import version, myclass
print version
instance = myclass.MyClassWithCtor(1, 2)