Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
3 мин
5230

Python аналог оператора switch/case

В некоторых языках программирования, таких как Java или C++, есть удобный оператор switch/case, который позволяет выполнять различные действия в зависимости

В некоторых языках программирования, таких как Java или C++, есть удобный оператор switch/case, который позволяет выполнять различные действия в зависимости от значения переменной. Вот его типичное использование:

switch (day) {
    case "Monday":
        System.out.println("First day of the week");
        break;
    case "Tuesday":
        System.out.println("Second day of the week");
        break;
    // и так далее
    default:
        System.out.println("Unknown day");
}

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Такой код проверяет значение переменной day и выполняет соответствующий блок кода.

Однако в Python нет встроенного оператора switch/case. Вместо этого приходится использовать условный оператор if. Аналогичный пример на Python выглядит так:

if day == "Monday":
    print("First day of the week")
elif day == "Tuesday":
    print("Second day of the week")
# и так далее
else:
    print("Unknown day")

Этот код делает ту же самую работу, но он выглядит менее компактно и читаемо, особенно если вариантов много.

В Python есть несколько подходов, которые можно использовать как альтернативу оператору switch/case. Один из них — использование словарей.

Словарь в Python — это структура данных, которая хранит пары «ключ-значение». Они могут быть использованы для хранения функций или действий, соответствующих определенным значениям.

def monday():
    return "First day of the week"

def tuesday():
    return "Second day of the week"

# и так далее

def default():
    return "Unknown day"

switch = {
    "Monday": monday,
    "Tuesday": tuesday,
    # и так далее
}

# использование словаря
print(switch.get(day, default)())

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Этот код создает словарь, где ключи — это дни недели, а значения — это функции, которые будут вызваны. Функция get позволяет получить значение по ключу или вернуть значение по умолчанию, если такого ключа нет.

Такой подход делает код более структурированным и удобным для чтения, особенно при большом количестве вариантов. Однако стоит помнить, что он может быть неэффективным при больших объемах данных из-за особенностей работы словарей в Python.

Добавить комментарий