Почему в Python нет оператора switch или case?

У Python нет оператора switch / case из-за неудовлетворительных предложений. Никто не смог предложить реализацию, которая хорошо работает с синтаксисом Python и установленным стилем кодирования. Было много предложений, некоторые из которых можно найти в PEP 3103 - Заключение / Заявление.

Большинство языков программирования имеют переключатель / случай, потому что у них нет правильных конструкций отображения. Вы не можете сопоставить значение функции, поэтому у нее она есть. Но в Python вы можете легко иметь таблицу сопоставления (dict), где определенное значение сопоставляется определенной функции. Функции Python - это значения первого класса, вы можете использовать эти функции в качестве значений метода get get (key [, default]). С точки зрения производительности, поиск в словаре Python почти наверняка будет более эффективным, чем любое решение, которое вы можете выполнить самостоятельно.

В приведенном выше примере вместо значений 1, 2 вы можете иметь функции, классы, списки, dicts абсолютно все, что вы хотите.

Пример

Источник: http://net-informations.com/python/iq/switch.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *