是否存在支持类型与默认值识别的Python docstring格式及配套工具?
存在,目前多款主流Python文档生成工具都已官方支持从函数签名的类型注解、默认参数中自动提取对应信息,不需要在docstring中重复标注类型、可选属性、默认值,完全支持你想要的简洁写法。
支持的常用工具
- pdoc:原生自带类型感知能力,无需额外安装插件,会自动解析函数签名的类型注解、默认值,docstring内仅需编写参数的文字描述,生成的文档会自动合并展示类型、默认值、描述信息。
- mkdocstrings(MkDocs生态):Python处理模块官方支持自动提取签名类型与默认值,兼容Google、Numpy、reST三种主流docstring格式,无需在docstring内重复声明类型、可选状态、默认值。
- Sphinx:配合官方生态插件
sphinx-autodoc-typehints即可实现相同能力,autodoc生成文档时会自动把函数签名的类型注解插入到参数、返回值的说明位置,无需在docstring中重复编写。
你给出的简洁写法完全可以直接使用:
def a(b: Option[C] = default_val) -> D: """ b: 参数b的描述信息 """
使用以上任意工具生成文档时,都会自动展示参数b的类型为Option[C]、可选属性、默认值为default_val,返回值类型为D,和手动写全所有信息的docstring生成的文档效果完全一致。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

