我有一个类似于此的类结构的包.
Baseclass是一个典型的,简单的父类,用于几个单独的层次结构.
我的包布局如下所示:
__init__.py (empty)
base.py
ab.py
cd.py
ef.py
Run Code Online (Sandbox Code Playgroud)
将Base类放入__init__.py而不是仅为一个类创建单独的模块是一个好主意还是一个好习惯?通过这种方式,我不需要每次都在模块中导入它.
它完全没问题,也是一种更灵活的方法base.py.另请注意,__ init__.py的主要用途是初始化Python包而不是保存内容.
为了避免每次都可以编写类似的东西而导入模块
# in __init__.py
from .base import Base
Run Code Online (Sandbox Code Playgroud)
进入__init__.py这样你就可以直接Base从my_package 导入:
# some script
from my_package import Base
Run Code Online (Sandbox Code Playgroud)
这是在包级别使对象可用的常用方法.
有关该__init__.py文件的更多信息,请查看文档.