Python分解大型类结构的最佳方法:常量和导入
我有一个非常大的文件,其中包含多个类,我想把它们分开,每个类都有自己的文件。我还有一个与这些类接口的文件:Python分解大型类结构的最佳方法:常量和导入,python,oop,Python,Oop,我有一个非常大的文件,其中包含多个类,我想把它们分开,每个类都有自己的文件。我还有一个与这些类接口的文件: package/ interface.py classALL.py 最后我想要的是: package/ interface.py classes/ classA.py classB.py classC.py B类和C类继承自A类。实现这一点的最佳实践是什么?具体而言: 在哪里导入库?既然B类是a类,我可以导
package/
interface.py
classALL.py
最后我想要的是:
package/
interface.py
classes/
classA.py
classB.py
classC.py
B类和C类继承自A类。实现这一点的最佳实践是什么?具体而言:
您可以给每个类一个文件,然后将它们全部添加到一个包中 例如,您有
a.py
、b.py
和c.py
,每个类分别包含a
、b
和c
。通过将文件a.py
、b.py
和c.py
移动到单个文件夹中,abcp
并创建一个\u init\u.py
文件,可以将所有这些类打包到单个包中
\uuuu init\uuuuu.py
文件可能包含以下内容
from .a import A
from .b import B
from .c import C
import abcp
if __name__ == '__main__':
oa = abc.A()
这样就可以直接从包中访问类
例如,在main.py
中,可以执行以下操作
from .a import A
from .b import B
from .c import C
import abcp
if __name__ == '__main__':
oa = abc.A()
尽管一个包含大量类的大型模块可能会变得笨拙,但没有充分的理由走极端,尝试在每个模块中强制一个类(即,不要尝试用python编写java)。更好的方法是根据应用程序中的基本职责,将许多类合理地分组到几个模块中。如果您提供实际的代码(而且它是有效的),这可能更适合@wim我的老板让我这样做:),但我同意这些模块可以而且应该被分解。