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

如何让Ruff检测标注返回非None函数中的无用return语句?

关于Ruff PLR1711规则检测return None的疑问解答

这是否是Ruff的预期行为?

是预期行为。Ruff的PLR1711(useless-return)规则核心是检测无意义的return语句:比如函数返回类型为None或无标注时,末尾的return None完全多余(Python默认会返回None),所以会被标记。而当函数明确标注返回非None类型(比如int)时,return None本质是类型不匹配问题,不属于该规则的检测范畴,因此不会触发报错——这和Pylint的判定逻辑存在差异,Pylint会将这类场景也归为无用return。

如何让Ruff检测标注返回非None函数中的无用return语句?

无需依赖PLR1711,可以启用Ruff的RET501(return-invalid-type)规则。这个规则专门检测函数返回值与标注类型不匹配的情况,包括返回None但标注返回int的场景,能精准覆盖你需要的检测需求。

是否需要等待版本更新?

当前不需要,因为已有RET501规则可以解决问题。不过如果你希望PLR1711本身扩展检测范围,可以关注相关议题的进展,该议题正在讨论是否将类型不匹配的return None纳入PLR1711的检测逻辑。

内容的提问来源于stack exchange,提问作者Visit mjrecent on Telegram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:30:57