跳到内容

if-exp-instead-of-or-operator (FURB110)

派生自 refurb 代码检查工具。

有时提供修复。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查可以被 or 运算符替换的三元 if 表达式。

为什么这不好?

三元 if 表达式比 or 表达式更冗长,同时提供相同的功能。

示例

z = x if x else y

建议改为

z = x or y

修复安全性

此规则的修复被标记为不安全,以防 if 表达式的主体包含副作用。

例如,foofoo() if foo() else bar() 中会被调用两次(假设 foo() 返回真值),但在 foo() or bar() 中只会被调用一次。