0 Используйте набор функций

Еще один простой способ - создать словарь функций:

 switch = {
    1: lambda: 'one',
    2: lambda: 'two',
    42: lambda: 'the answer of life the universe and everything',
}

 

Затем вы добавляете функцию по умолчанию:

 def default_case():
    raise Exception('No case found!')

 

и вы используете метод get из словаря, чтобы получить функцию с заданным значением для проверки и запуска. Если значение не существует в словаре, то default_case запускается.

 >>> switch.get(1, default_case)()
one
>>> switch.get(2, default_case)()
two
>>> switch.get(3, default_case)()
…
Exception: No case found!
>>> switch.get(42, default_case)()
the answer of life the universe and everything

 

Вы также можете сделать немного синтаксического сахара, чтобы переключатель выглядел лучше:

 def run_switch(value):
    return switch.get(value, default_case)()

>>> run_switch(1)
one