问题描述
我有一个主类,它创建另一个类的实例,必须先将其导入。
经过一段时间的调试后,我发现,导入类的__init__
方法中的代码在我导入时就运行了。但是,为了使我的代码正常工作,我需要在导入时不要运行它。
我已经找到了这个thread,但对我没有帮助。
为了进行测试,我编写了一个简单的应用程序,没有出现问题:
test.py:
class foo:
def __init__(self):
print("foo")
main.py:
from test import foo
def main():
print("bar")
t = foo()
代码按预期工作,输出首先是“ bar”,然后是“ foo”。
解决方法
调用
__init__()
时执行foo
类的 foo()
因此,在您的情况下,当您执行t = foo()