跳到内容

yoda-conditions (SIM300)

源自 flake8-simplify 代码检查器。

有时提供修复。

作用

检查条件语句中常量位于比较运算符左侧,而不是右侧的情况。

为什么这不好?

这些条件语句(有时被称为 “尤达条件”)的可读性不如变量位于比较运算符左侧的条件语句。

在某些语言中,尤达条件用于防止条件语句中意外的赋值(即,意外使用了 = 运算符,而不是 == 运算符)。但是,Python 不允许在条件语句中使用赋值,除非使用 := 运算符,因此尤达条件在这方面没有任何好处。

示例

if "Foo" == foo:
    ...

建议改为

if foo == "Foo":
    ...

参考