我有一个类似于this的类结构的包。
Base
类是几个单独层次结构的典型简单父类。
我的包布局如下:
__init__.py (empty)
base.py
ab.py
cd.py
ef.py
将Base
类放入__init__.py
而不是仅为一个类创建单独的模块,这是一个好主意还是一个好习惯?通过这种方式,我不需要每次都在模块中导入它。
答案 0 :(得分:7)
将它留在base.py
中是完全正确且更灵活的方法。另请注意, __init__.py的主要用途是初始化Python包而不是保留内容。
为避免每次可以编写类似
的内容而导入模块# in __init__.py
from base import Base
进入__init__.py
,以便您可以直接从my_package导入Base
:
# some script
from my_package import Base
这是一种在包级别提供对象的常用方法。
有关__init__.py
文件的详细信息,请查看documentation。