很多小伙伴们会有个疑问,Python中为什么不支持Switch语句?是啊,为什么Python不支持Switch语句,那么小编就通过这篇文章来告诉大家原因 。
文章插图
主要是因为 switch 在其它语言中太常见了,而 Python 却不支持,这样的独特性本身就值得关注,而回答这个问题,也能更加看清 Python 在程序设计上的理念,了解 Python 在语法设计中的决策过程 。
一般而言,switch 的语法格式如下:
【Python为什么不支持switch语句?看完你就知道了】switch(expression){ case value1: // 语句 break; // 可选 case value2: // 语句 break; // 可选 default: // 可选 // 语句}复制代码 】
Python 为什么不支持 switch?有一篇 文档中的FAQ 包含了这个问题:Why isn’t there a switch or case statement in Python?
FAQ 即 Frequently Asked Questions 的缩写,表示常见问题,列了 27 个常见问题,该文档给出了几个建议,告诉了我们几个 switch/case 的替代方案:
- 使用 if-elif-else 条件判断语句
- 使用字典,将 case 值与调用的函数映射起来
- 使用内置 getattr() 检索特定的对象调用方法
靶场测试,即 range test,指的是对武器弹药的技术性能作各种测试验证,与药物的临床试验一样,都是在最终产品交付前的一项关键性测试 。
最后,让我们回到标题中的问题:Python 为什么不支持 switch 语句?
文档的 FAQ 对此问题有一个解答,告诉我们有几个不错的替代写法,同时也留下了一条线索:曾有 PEP 提议引入 switch,只是没有成功实现 。
沿着这条线索,本文拆解了 PEP-275 和 PEP-3103 这两篇文档,带大家看到了 Python 社区里提出过的风格各异的 switch 方案,以及诸多的悬而未决的问题 。
最后,我们还关注到了最新的 PEP-622 的动态,看起来 switch 的“孪生兄弟” match 语法有望引入到 Python 中!
推荐阅读
- 画画只会临摹不会原创怎么办?为什么画画只会临摹?
- 京东店铺好做吗?为什么?
- 快手电商为什么不能退货?退货流程是什么?
- 抖音企业号怎么续费?为什么开抖音企业号?
- python编程出错怎么办?有这五点建议
- python流程控制语句有哪些?来看超详细的介绍
- 学多久C语言再学Python好?C语言和python能一起学吗
- python有哪些编辑器?看完你全都知道了
- Python语言中mod表示什么意思?三分钟看完你就懂了
- python打包后运行不了怎么解决?看文全文轻松解决