跳到内容

return 语句过多 (PLR0911)

源自 Pylint 代码检查工具。

作用

检查具有过多 return 语句的函数或方法。

默认情况下,此规则允许最多六个 return 语句,这可以通过 lint.pylint.max-returns 选项进行配置。

为什么这不好?

具有许多 return 语句的函数或方法更难理解和维护,并且通常表明逻辑复杂。

示例

def capital(country: str) -> str | None:
    if country == "England":
        return "London"
    elif country == "France":
        return "Paris"
    elif country == "Poland":
        return "Warsaw"
    elif country == "Romania":
        return "Bucharest"
    elif country == "Spain":
        return "Madrid"
    elif country == "Thailand":
        return "Bangkok"
    else:
        return None

建议改为

def capital(country: str) -> str | None:
    capitals = {
        "England": "London",
        "France": "Paris",
        "Poland": "Warsaw",
        "Romania": "Bucharest",
        "Spain": "Madrid",
        "Thailand": "Bangkok",
    }
    return capitals.get(country)

Options (选项)