我有一个很大的文件,其中包含多个类,并希望将它们分解,每个类都有自己的文件。我还有一个文件与这些类接口:
package/
interface.py
classALL.py
最后我想要一些类似的东西:
package/
interface.py
classes/
classA.py
classB.py
classC.py
类B和C继承自类A。这样做的最佳实践是什么?具体而言:
- 在哪里导入库?既然B类是a类,我可以导入a类中的所有内容吗
- 如果我在每个类中都需要类似re的东西,我需要在每个类中将其导入吗?这会给我同一个库的多个实例吗
- 我把常数放在哪里?我可以在类A中定义CONSTANT_A并完成它吗?或者我需要在每个文件中定义它吗
您可以为每个类提供一个文件,然后将它们全部添加到一个包中。
例如,您有a.py
、b.py
和c.py
,它们分别具有类A
、B
和C
。通过将文件a.py
、b.py
和c.py
移动到单个文件夹abcp
并创建一个__init__.py
文件,可以将所有这些类打包到单个包abc
中。
__init__.py
文件可能包含类似的内容
from .a import A
from .b import B
from .c import C
从而可以直接从包中访问类。
例如,在main.py
中,您可以执行类似的操作
import abcp
if __name__ == '__main__':
oa = abc.A()