Источник: Nuances of Programming
Во многих языках программирования (например, JavaScript) есть операторы switch. Это блок кода, в котором значение сравнивается с цепочкой переключателей case. При обнаружении соответствия выполняется код внутри нужного блока и после него. Кроме того, в части default прописывается значение case по умолчанию.
Оператор switch в Python отсутствует. Однако его поведение можно имитировать двумя способами.
Использование функции словаря и get()
В этом случае эмулировать поведение switch можно через словарь Python. Нужно прописать сравнение с помощью переключателя case (ключа) и установить значение по умолчанию с помощью get().
Для оптимизации кода и его лаконичности можно переписать функцию следующим образом:
Обратите внимание, что словарь находится внутри функции. Это более действенный способ, облегчающий чтение кода и его поддержку.
Операторы if/elif/else
В поисках альтернативы оператору switch не стоит забывать и о старой доброй классике — последовательности if, elif и else.
В сравнении с dict, этот способ более трудоемкий, но имеет свои плюсы. Если в каждом case будет выполняться несколько действий, то лучше организовать их через if. Кроме того, операторы if отлично подходят для реализации более сложных условий сравнения.
Читайте также:
Читайте нас в телеграмме и vk
Перевод статьи Jonathan Hsu: Two Replacements for Switch Statements in Python