Ruff if-else-block-instead-of-dict-lookup (SIM116)

if-else-block-instead-of-dict-lookup в Ruff проверяет код на предупреждение SIM116. Правило относится к группе flake8-simplify.

Почему это неправильно

Упрощённая запись обычно легче читается и снижает риск ошибки в условии или преобразовании.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила if-else-block-instead-of-dict-lookup и пример ниже.

Пример ошибки

if x == 1:
    return "Hello"
elif x == 2:
    return "Goodbye"
else:
    return "Goodnight"

Как правильно

return {1: "Hello", 2: "Goodbye"}.get(x, "Goodnight")

Автоисправление

Ruff не предлагает автоисправление для этого правила.