作者ohmylove347 (米特巴尔)
看板Soft_Job
标题[讨论] Python 3.10将加入Switch-Case语句
时间Fri Mar 26 18:26:11 2021
https://reurl.cc/8yzA24
上面说2006年 PEP 3103就建议实施switch-case语句。但是,在PyCon 2007上的一项民意调查未获得对该功能的支持後,Python开发人员将其删除。
没有使用Python不知道生态系如何
Google App上看到的文章
不知道各位大大对Switch加入有什麽看法
-----
Sent from JPTT on my Google Pixel 2.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.12.90.73 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1616754376.A.CA6.html
※ 编辑: ohmylove347 (101.12.90.73 台湾), 03/26/2021 18:26:36
1F:推 dave123: 已知用火 03/26 18:39
2F:推 timTan: 规格叫做pattern matching 03/26 19:05
3F:嘘 hegemon: 蛇粉快来看看你们最爱的蛇蛇已知用火成这样03/26 19:30
4F:→ lee457088: swtich: a: break b: break: nintendo: purchase. 03/26 19:31
※ 编辑: ohmylove347 (101.12.90.73 台湾), 03/26/2021 20:23:45
5F:推 noahleft: 看起来蛮方便的,而且还可以避掉switch的break 03/26 20:32
6F:推 neo5277: 同一楼 03/26 20:44
7F:推 tnfshjcc: dict加上functional programming就涵盖大部份switch用途 03/26 20:51
8F:推 Muscovy: 我从 2001 年开始用 python, 连 if-else 都很少用... XD 03/26 20:58
9F:推 Muscovy: 应该这样讲, 在 python 里如果出现一堆 nested statement 03/26 21:01
10F:→ Muscovy: 通常是你有东西搞错了... 这个我也不太会讲. 03/26 21:02
11F:推 splitline: 他比 switch case 酷多ㄌ 03/26 21:18
12F:→ OrzOGC: if太多我就会重写了...真的是如上面讲的有问题... 03/26 21:25
13F:推 tnfshjcc: {"a": funcA, "b": funcB}.get(val, funcDefault)() 03/26 21:35
14F:推 tnfshjcc: funcA什麽的可以lambda x: x+123如果要最後有输入 03/26 21:39
15F:→ Firstshadow: 不用if-else 都用while 可以ㄇ 03/27 02:43
16F:推 taipoo: 没有也没差,都已经用习惯了 03/27 02:47
17F:推 yyhsiu: 你可以定意__match__在class里面,应该比一般 switch case 03/27 03:37
18F:→ yyhsiu: 有用吧 03/27 03:38
19F:推 aidansky0989: java跟js中都算很冷门的功能 03/27 09:06
20F:→ marktak: case final void sony; 03/27 09:54
21F:推 brianhsu: Pattern matching 在 functional programming 还满常用 03/27 10:51
22F:→ brianhsu: 的吧? 03/27 10:51
23F:推 Muscovy: for/while 比 if-else 常出现无误, 大概 10:1 的比例. XD 03/27 11:06
24F:→ Muscovy: 譬如 try-catch, 上古神兽 C 就只有 if 的选择. 03/27 11:08
25F:→ Muscovy: 然後第二个例子我就举不出来了, 因为真的想不到常见的. 03/27 11:11
26F:→ Muscovy: 在我的环境, 都是很特别的状况才会用到 if-else. 03/27 11:11
27F:推 dmeiki: 让我想到OCaml 03/27 11:31
28F:推 TAMSHUI: 不知M大能否举例完全不用if-else呢?Google了一下还是没 03/27 12:58
29F:→ TAMSHUI: 什麽想法@@ 03/27 12:58
30F:推 Muscovy: 不会到完全不写 if 的程度啦,等一下我来整理一篇 03/27 13:50
31F:→ as30385438: 不用if就是用loop、dict的key放condition或一些DP手法 03/27 14:16
32F:→ as30385438: 写python的常常追求所谓的pythonic,不过我自己是觉得 03/27 14:16
33F:→ as30385438: simple is best,最直觉的写法通常就是最好的 03/27 14:17
34F:→ csieflyman: 从 java 转 kotlin 後,就常用 enum / sealed class 03/27 14:37
35F:→ csieflyman: 搭配 switch case 语法了。因为编译器能检查的写法才 03/27 14:37
36F:→ csieflyman: 是最好的 03/27 14:37
37F:推 fish0112: 好奇+1 if else还是很常出现(写java 03/27 14:54
38F:推 youtuuube000: 把条件判断放在dict比用if else还更常用 03/27 15:34
39F:推 a78998042a: 好奇怎麽写+1 03/27 15:48
40F:→ WunoW: 谁说switch-case在js算冷门? 用超多好吗 = = 03/27 20:44
41F:推 dave123: 有差吗?转换成硬体语言都是cond jump...换个写法没比较 03/28 01:32
42F:→ dave123: 高级 03/28 01:32
43F:→ superpandal: haha 又来了 03/28 01:40
44F:嘘 jamesho8743: 能减少cond jump才是重点 或者branch 能让cpu预测到 03/28 08:15
45F:推 DellSale999: 这样才能写状态机啊 03/28 10:01
46F:推 otherman: 没写过switch case就不算写过程式…连写script都不算 03/28 17:31