跳到内容

magic-value-comparison (PLR2004)

源自 Pylint 代码检查工具。

作用

检查在比较中是否使用了未命名的数值常量(“魔法”)值。

为什么这不好?

使用“魔法”值会使代码更难阅读和维护,因为读者必须从上下文中推断值的含义。《PEP 8》不鼓励使用此类值。

为方便起见,此规则从“魔法”值定义中排除各种常见值,例如 01"""__main__"

示例

def apply_discount(price: float) -> float:
    if price <= 100:
        return price / 2
    else:
        return price

建议改为

MAX_DISCOUNT = 100


def apply_discount(price: float) -> float:
    if price <= MAX_DISCOUNT:
        return price / 2
    else:
        return price

Options (选项)