跳到内容

and-or-ternary (PLR1706)

源自 Pylint 代码检查工具。

警告:此规则已被移除,其文档仅供历史参考。

移除

此规则已从 Ruff 中移除,因为它通常会引入行为变更。请参阅 #9007 以获取更多信息。

作用

检查是否使用了 Python 2.5 之前的旧式三元语法。

为什么这不好?

在 Python 2.5 中引入 if 表达式(三元运算符)之前,表达条件表达式的唯一方法是使用 andor 运算符。

if 表达式构造更清晰、更明确,应优先于使用 andor 来表示三元表达式。

示例

x, y = 1, 2
maximum = x >= y and x or y

建议改为

x, y = 1, 2
maximum = x if x >= y else y