Python:维护模块中的代码

时间:2011-10-20 12:33:55

标签: python coding-style code-organization

我正在构建一个项目,但我遇到了以下问题:

我已经实现了几个子类,每个子类都有大约250行代码。在语义上,它们应该在同一个模块中一起使用,我想用

导入它们
from mymodule import SubclassA, SubclassB

但是我的模块文件有数千行,这使得维护代码非常讨厌。现在我将每个类放在一个单独的文件中,以便于维护,但我必须像这样使用它:

from subclassa import SubclassA
from subclassb import SubclassB

这没有任何意义,而且非常糟糕。

有没有优雅的解决方案?如果没有,上述哪一个是更好的解决方案?

3 个答案:

答案 0 :(得分:5)

您可以随时将from subclassa ...导入到您的包__init__.py中,如您在第二个商家信息中所示。然后,当您在第一个列表中写道时,它们将直接从您的包中提供。

答案 1 :(得分:1)

我更喜欢第二种解决方案,使用单独的文件。进口并不是那么糟糕。

如果他们打扰你这么多,你可以将它们封装在另一个文件中,然后从该文件中二手导入所有类。因此,您的主要导入将看起来像第一个解决方案,但mymodule文件的唯一内容将是第二个解决方案中的代码。

答案 2 :(得分:0)

您可以从mymodule模块的相应文件中导入这两个类:

import SubclassA, SubclassB

然后在其他项目中,您只需从此模块导入这些类:

from mymodule import SubclassA, SubclassB

如果您正在寻找,请告诉我。