我正在重构一个 Python 2 软件。该代码当前位于一个文件中,其中包含 45 个左右的类(以及一个类之外的 2 行以引导应用程序)。
我希望每个文件有一个类,理想情况下,来自相关类的文件分组在目录中。
我通常喜欢这样编写我的 Python 导入:
from zoo.dog_classes.beagle_class import BeagleClass
from zoo.dog_classes.dalmatian_class import DalmatianClass
以便清楚在类中导入了哪些模块,并且它们的名称尽可能短。
但是对于这个软件来说,逻辑是相当复杂的,类之间的引用通常在类方法中,导致大量的循环导入,这排除了这种方法。
我不想在函数中导入模块,因为这对于可读性来说太糟糕了,而且代码会到处重复。
似乎我唯一的选择是以这种方式编写导入:
import zoo.dog_classes.beagle_class
后来,当我需要上课时:
b = zoo.dog_classes.beagle_class.BeagleClass()
然而,这写起来非常冗长和痛苦。
我应该如何处理我的进口?