replace_with - python beautifulsoup title




Почему в Python нет переключателя? (2)

Есть буквально раздел в документах, чтобы ответить на это. Увидеть ниже:

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

TL; DR: существующие альтернативы (динамическая отправка через getattr или dict.get , if / elif цепочки) покрывают все варианты использования просто отлично.

Я новичок в Python. Пожалуйста, объясните, почему в python нет switch-case?


Мы рассмотрели это в какой-то момент, но без возможности объявить именованные константы невозможно создать эффективную таблицу переходов. Таким образом, все, что нам осталось бы, это синтаксический сахар для того, что мы уже могли сделать с цепями if-elif-elif-else.

См. PEP 275 и PEP 3103 для полного обсуждения.

Грубо говоря, обоснование состоит в том, что различные предложения не оправдали ожиданий людей о том, что будет делать коммутатор, и им не удалось улучшить существующие решения (такие как диспетчеризация на основе словаря, цепочки if-elif, цепочка на основе getattr или старомодная отправка полиморфизма объектам с различными реализациями для одного и того же метода).







switch-statement