跳到内容

none-comparison (E711)

源自 pycodestyle linter。

修复总是可用的。

作用

检查未使用 is 运算符与 None 进行比较的情况。

为什么这不好?

根据 PEP 8,“与 None 等单例的比较应该始终使用 isis not,永远不要使用相等运算符。”

示例

if arg != None:
    pass
if None == arg:
    pass

建议改为

if arg is not None:
    pass

修复安全性

此规则的修复被标记为不安全,因为它可能在使用重写 ==/__eq__!=/__ne__ 运算符的库时改变运行时行为。 在这些情况下,is/is not 可能与 ==/!= 不等价。 有关更多信息,请参阅此问题