跳到内容

collapsible-else-if (PLR5501)

源自 Pylint 代码检查工具。

有时提供修复。

作用

检查仅包含单个 if 语句的 else 代码块。

为什么这不好?

如果一个 else 代码块包含一个单独的 if 语句,它可以被折叠成一个 elif,从而减少缩进级别。

示例

def check_sign(value: int) -> None:
    if value > 0:
        print("Number is positive.")
    else:
        if value < 0:
            print("Number is negative.")
        else:
            print("Number is zero.")

建议改为

def check_sign(value: int) -> None:
    if value > 0:
        print("Number is positive.")
    elif value < 0:
        print("Number is negative.")
    else:
        print("Number is zero.")

参考