Оператор switch в Python Python 16.04.2009

python-switch.gif Поработав с Python обнаружил, что в нем отсутствует оператор switch-case, который местами бывает очень даже нужный и востребованный.

Для замены предлагают использовать множественные if-then-else или словари

Вариант со словарями:

def switch_case(case):
return "You entered " + {
'1' : "one",
'2' : "two",
'3' : "three"
}.get(case, "an out of range number")

num = raw_input("Input a number between 1 and 3: ")
print switch_case(num)

Или пример получения значения взятый с Switch statements in Python:

result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)

Еще способы реализации switch-case в Python:

Цитата
Электронный мозг будет думать за нас точно так же, как электрический стул за нас умирает.
Станислав Ежи Лец
Категории
Архив