[讨论] Python 3.10将加入Switch-Case语句

楼主: ohmylove347 (米特巴爾)   2021-03-26 18:26:11
https://reurl.cc/8yzA24
上面说2006年 PEP 3103就建议实施switch-case语句。但是,在PyCon 2007上的一项民意调查未获得对该功能的支持后,Python开发人员将其删除。
没有使用Python不知道生态系如何
Google App上看到的文章
不知道各位大大对Switch加入有什么看法
作者: dave123 (宅男就是传奇)   2021-03-26 18:39:00
已知用火
作者: timTan (用口头禅区分年记)   2021-03-26 19:05:00
规格叫做pattern matching
作者: hegemon (hegemon)   2021-03-26 19:30:00
蛇粉快来看看你们最爱的蛇蛇已知用火成这样
作者: lee457088   2021-03-26 19:31:00
swtich: a: break b: break: nintendo: purchase.
作者: noahleft (NoahLeft)   2021-03-26 20:32:00
看起来蛮方便的,而且还可以避掉switch的break
作者: neo5277 (I am an agent of chaos)   2021-03-26 20:44:00
同一楼
作者: tnfshjcc (↖煞气a携阿携↘)   2021-03-26 20:51:00
dict加上functional programming就涵盖大部份switch用途
作者: Muscovy (三分熟的闹钟)   2021-03-26 20:58:00
我从 2001 年开始用 python, 连 if-else 都很少用... XD应该这样讲, 在 python 里如果出现一堆 nested statement通常是你有东西搞错了... 这个我也不太会讲.
作者: splitline (台ㄎ废文王)   2021-03-26 21:18:00
他比 switch case 酷多ㄌ
作者: OrzOGC (洞八达人.拖哨天王)   2021-03-26 21:25:00
if太多我就会重写了...真的是如上面讲的有问题...
作者: tnfshjcc (↖煞气a携阿携↘)   2021-03-26 21:35:00
{"a": funcA, "b": funcB}.get(val, funcDefault)()funcA什么的可以lambda x: x+123如果要最后有输入
作者: Firstshadow (IamCatづミ'_'ミづ)   2021-03-27 02:43:00
不用if-else 都用while 可以ㄇ
作者: taipoo (要成功要积极)   2021-03-27 02:47:00
没有也没差,都已经用习惯了
作者: yyhsiu (hsiu)   2021-03-27 03:37:00
你可以定意__match__在class里面,应该比一般 switch case有用吧
作者: aidansky0989 (alta)   2021-03-27 09:06:00
java跟js中都算很冷门的功能
作者: marktak (天祁)   2021-03-27 09:54:00
case final void sony;
作者: brianhsu (坟墓)   2021-03-27 10:51:00
Pattern matching 在 functional programming 还满常用的吧?
作者: Muscovy (三分熟的闹钟)   2021-03-27 11:06:00
for/while 比 if-else 常出现无误, 大概 10:1 的比例. XD譬如 try-catch, 上古神兽 C 就只有 if 的选择.然后第二个例子我就举不出来了, 因为真的想不到常见的.在我的环境, 都是很特别的状况才会用到 if-else.
作者: dmeiki (熊麻吉)   2021-03-27 11:31:00
让我想到OCaml
作者: TAMSHUI (讓我醉死在夢裡~)   2021-03-27 12:58:00
不知M大能否举例完全不用if-else呢?Google了一下还是没什么想法@@
作者: Muscovy (三分熟的闹钟)   2021-03-27 13:50:00
不会到完全不写 if 的程度啦,等一下我来整理一篇
作者: as30385438 (LCT)   2021-03-27 14:16:00
不用if就是用loop、dict的key放condition或一些DP手法写python的常常追求所谓的pythonic,不过我自己是觉得simple is best,最直觉的写法通常就是最好的
作者: csieflyman (风之骄子)   2021-03-27 14:37:00
从 java 转 kotlin 后,就常用 enum / sealed class搭配 switch case 语法了。因为编译器能检查的写法才是最好的
作者: fish0112 (鱼)   2021-03-27 14:54:00
好奇+1 if else还是很常出现(写java
作者: youtuuube000 (小孩)   2021-03-27 15:34:00
把条件判断放在dict比用if else还更常用
作者: a78998042a (Benjimine)   2021-03-27 15:48:00
好奇怎么写+1
作者: WunoW (WunoW)   2021-03-27 20:44:00
谁说switch-case在js算冷门? 用超多好吗 = =
作者: dave123 (宅男就是传奇)   2021-03-28 01:32:00
有差吗?转换成硬件语言都是cond jump...换个写法没比较高级
作者: superpandal   2021-03-28 01:40:00
haha 又来了
作者: jamesho8743 (加拿大好美)   2021-03-28 08:15:00
能减少cond jump才是重点 或者branch 能让cpu预测到
作者: DellSale999 (我好便宜)   2021-03-28 10:01:00
这样才能写状态机啊
作者: otherman (总经理)   2021-03-28 17:31:00
没写过switch case就不算写过程式…连写script都不算

Links booklink

Contact Us: admin [ a t ] ucptt.com