Правильная и красивая замена if?

В Python существует несколько способов заменить if, чтобы сделать код более понятным и элегантным. Один из таких способов - использование оператора выбора, известного как "тернарный оператор".

Тернарный оператор имеет следующий синтаксис:

<условие> ? <выражение1> : <выражение2>

Этот оператор выполняет <выражение1>, если <условие> истинно, и <выражение2>, если <условие> ложно.

Вот пример использования тернарного оператора для замены if:

x = 5
result = "Even" if x % 2 == 0 else "Odd"
print(result)

В этом примере, если x делится на 2 без остатка, то result будет равен "Even", в противном случае он будет равен "Odd".

Еще один способ замены if - использование словаря. Вы можете создать словарь, в котором ключи будут представлять все возможные значения, которые нужно проверить, а значения будут представлять соответствующие результаты.

Вот пример:

def func1():
    return "Result 1"

def func2():
    return "Result 2"

def func3():
    return "Result 3"

switcher = {
    1: func1,
    2: func2,
    3: func3
}

result = switcher.get(x, "Invalid input")()
print(result)

В этом примере, в зависимости от значения x, будет вызвана соответствующая функция, возвращающая результат. Если значение x не совпадает ни с одним из ключей словаря, будет возвращена строка "Invalid input".

Таким образом, использование тернарного оператора и словарей позволяет заменить if и сделать ваш код более кратким и лаконичным.