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

如何让__init__.py中导入的内容在Python help()命令中可见

问题解决方法

原因说明

Python内置的help()函数生成模块文档时,默认会过滤掉从其他模块导入的非原生成员,只有模块原生定义的成员、以及你显式声明的公开接口成员才会被展示。你通过from .example import *导入的add_one属于跨模块导入的成员,没有显式声明为公开接口就会被help()过滤。

解决步骤

只需要在mymodule/__init__.py中添加模块级的__all__变量,把所有你想要暴露在模块根层级的成员都列入即可,修改后的__init__.py代码如下:

from .example import *

# 显式声明模块公开接口,所有需要对外暴露的根层级成员都写入该列表
__all__ = ["add_one", "bar", "foo"]

foo = "FOO"

def bar():
    return 1

验证效果

修改后重新导入模块,再执行help(mymodule),就能在FUNCTIONS分类下看到add_one的条目,原有模块调用、dir()查询的逻辑完全不受影响。

如果想要更可控的导入逻辑,也可以把通配符导入替换为显式导入:

from .example import add_one

__all__ = ["add_one", "bar", "foo"]

foo = "FOO"

def bar():
    return 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:18:01