【发布时间】:2019-05-20 10:15:02
【问题描述】:
我对 Python 中的整个交叉导入感到很困惑。我有一个包含一个主模块 main.py 和几个子模块 b.py 和 c.py 的包,每个模块都有一个类模块分别为class main、class b和class c。
在 __init__.py 中:
from .main import main
from .b import b
from .c import c
在 main.py 中:
from .b import b
from .c import c
class main:
在b.py中:
from .main import main
class b:
会引发 ImportError,我们可以解决它:
class b:
def __init__(self):
from .main import main
这样就好了。但我不太明白为什么。如果我在 b.py 中有多个类或方法,该怎么办。在每种方法中使用 import main 会非常低效甚至影响性能吗?
非常感谢。
【问题讨论】:
标签: python