Python:在导入 class 后打印在 __init__.py 中声明的变量
Python: Printing a variable declared in __init__.py after importing a class
我有一个名为 main.py
的文件,在它旁边有一个名为 mymodule
的文件夹,其中包含 __init__.py
和 myclass.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
中有一个名为 version
的变量,我想在导入后从 main.py
打印它。
我不太明白你的问题是什么,或者 class 有什么关系。
直接在 __init__.py
中定义的变量在包的命名空间中可用。
from mymodule import version, myclass
print version
instance = myclass.MyClassWithCtor(1, 2)
我有一个名为 main.py
的文件,在它旁边有一个名为 mymodule
的文件夹,其中包含 __init__.py
和 myclass.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
中有一个名为version
的变量,我想在导入后从main.py
打印它。
我不太明白你的问题是什么,或者 class 有什么关系。
直接在 __init__.py
中定义的变量在包的命名空间中可用。
from mymodule import version, myclass
print version
instance = myclass.MyClassWithCtor(1, 2)