如何解决Python:导入类可在__init __中运行代码
我有一个主类,它创建另一个类的实例,必须先将其导入。
经过一段时间的调试后,我发现,导入类的__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__
代码何时执行,何时不执行?
解决方法
调用
__init__()
时执行foo
类的 foo()
因此,在您的情况下,当您执行t = foo()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。