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

使用类型提示时numpydoc文档字符串能否省略类型声明

numpydoc 类型标注规则说明
  • 若函数签名已经添加符合PEP 484标准的类型提示,不需要在文档字符串的Parameters、Returns章节重复标注参数/返回值类型,示例中参数a省略类型的写法完全符合numpydoc v1.0及以上版本的规范要求。
  • 旧版numpydoc要求必须在文档字符串内写类型,是因为Python早期没有统一的官方类型提示语法,类型信息只能通过文档传递。现在类型提示已经是Python官方标准,IDE、静态检查工具、支持numpydoc的文档生成工具都能自动从签名提取类型信息渲染到最终文档里,重复写类型反而会增加维护成本,很容易出现签名改了但文档里的类型忘改、两边不一致的问题。
  • 你给出的示例虽然合规,但有两个可优化的细节:
    • 参数a的描述存在拼写错误,Fist应当改为First
    • 函数签名已经标注返回值为float类型,Returns章节里重复写的float同样可以省略,和参数的书写规则保持一致。
  • 只有一种情况需要在文档里补充类型相关内容:当类型提示无法覆盖参数的特殊约束时。比如参数虽然标注为int类型,但业务逻辑要求必须传入正整数,这类约束没法通过类型提示表达,直接写在对应参数的描述里即可,不需要重复标注基础类型。

符合规范的最简写法参考:

def add(a: float, b: int) -> float:
    """计算两个数的和

    Parameters
    ----------
    a
        第一个加数
    b
        第二个加数

    Returns
    -------
   
        a与b相加的计算结果
    """
    return a + b

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:09:36