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

如何使用Ruff检查指定非None返回类型却未返回值的函数?

解决方法

当然可以通过Ruff实现这个检查需求,Ruff内置了RET101规则(命名为 Missing return statement in function returning non-None),专门用于验证:当函数的返回类型标注为非None时,必须在所有代码路径中返回对应类型的值。

规则效果示例

针对你给出的问题代码:

def add(a: int, b: int) -> int:
    a + b  # 缺少return语句

开启RET101规则后,Ruff会直接触发警告,提示该函数未返回符合标注类型的值。

配置方式

在你的项目配置文件(如pyproject.toml)中,添加或调整Ruff的规则选择:

[tool.ruff]
# 同时启用返回类型标注检查(ANN201)和返回语句检查(RET101)
select = ["ANN201", "RET101"]

也可以直接启用整个RET规则组,覆盖所有返回语句相关检查:

[tool.ruff]
select = ["ANN", "RET"]

额外说明

RET101规则会遍历函数的所有代码分支(包括if/else、try/except等控制流),确保每个分支都存在有效的返回语句,彻底避免因遗漏返回值导致的隐性bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:39:56