You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何为模块定义默认导出内容以简化导入路径

Python包自定义导出内容的实现方法

可以实现该需求。虽然Python 3.3及以上版本支持隐式命名空间包,无需__init__.py即可将目录识别为包,但要自定义包的公开导出内容、简化导入路径,依然可以通过添加__init__.py文件实现,该文件不会影响原有包的识别逻辑,仅用于补充包的配置。

具体操作步骤

  • 第一步:在/models/adaboost目录下新建名为__init__.py的文件
  • 第二步:在该文件中添加导入转发逻辑,示例代码如下:
# 从内层Adaboost模块导入需要对外暴露的类
from .Adaboost import AdaboostClassifier

# 可选配置:定义__all__列表,控制`from adaboost import *`语法的导出范围,同时会优化IDE的自动补全提示
__all__ = ["AdaboostClassifier"]
  • 第三步:后续导入时即可直接使用简化路径,无需逐层调用内层模块:
# 原来的冗余写法
from models.adaboost.Adaboost import AdaboostClassifier

# 简化后的写法
from models.adaboost import AdaboostClassifier

拓展用法

如果需要进一步简化导入路径,还可以在上层包的__init__.py中继续做转发,比如在/models/__init__.py中添加以下内容:

from .adaboost import AdaboostClassifier
__all__ = ["AdaboostClassifier"]

之后可直接通过from models import AdaboostClassifier导入目标类。

内容的提问来源于stack exchange,提问作者heresthebuzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:54:00