22
Окт
2015

Есть ли в Python оператор switch case?

Столкнулся с тем, что требуется реализовать множественное условие, которое в других языках я бы реализовал с помощью конструкции switch-case.

В Python мне приходится расписывать всё через условия if-elif-else. Это мне кажется довольно неудобным.

Есть ли более удобный способ записи подобных условий?

Например, у меня есть единицы измерения и в зависимости от выбранной мне нужно вернуть соответствующий множитель:

def get_multiplier(unit):
    if unit == 'mm':
        return 10**-3
    if unit == 'cm':
        return 10**-2
    if unit == 'dm':
        return 10**-1
    if unit == 'm':
        return 1
    if unit == 'km':
        return 10**3
    raise ValueError('Undefined unit: {}'.format(unit))

Источник: https://ru.stackoverflow.com/questions/460207/%D0%95%D1%81%D1%82%D1%8C-%D0%BB%D0%B8-%D0%B2-python-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80-switch-case

Share

Тебе может это понравится...