跳到内容

与空字符串比较 (PLC1901)

源自 Pylint 代码检查工具。

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

作用

检查与空字符串的比较。

为什么这不好?

空字符串是 falsy 值,因此没有必要将其与 "" 进行比较。 如果该值可以是 Python 认为 falsy 的其他值,例如 None0 或其他空容器,则代码并不等效。

已知问题

误报率高,因为此检查不区分上下文,并且不考虑被比较的变量的类型 (#4282)。

示例

x: str = ...

if x == "":
    print("x is empty")

建议改为

x: str = ...

if not x:
    print("x is empty")

参考