[討論] Python 3.10將加入Switch-Case語句

看板Soft_Job作者 (米特巴爾)時間3年前 (2021/03/26 18:26), 3年前編輯推噓22(24220)
留言46則, 28人參與, 3年前最新討論串1/6 (看更多)
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://www.ptt.cc/bbs/Soft_Job/M.1616754376.A.CA6.html ※ 編輯: ohmylove347 (101.12.90.73 臺灣), 03/26/2021 18:26:36

03/26 18:39, 3年前 , 1F
已知用火
03/26 18:39, 1F

03/26 19:05, 3年前 , 2F
規格叫做pattern matching
03/26 19:05, 2F

03/26 19:30, 3年前 , 3F
蛇粉快來看看你們最愛的蛇蛇已知用火成這樣
03/26 19:30, 3F

03/26 19:31, 3年前 , 4F
swtich: a: break b: break: nintendo: purchase.
03/26 19:31, 4F
※ 編輯: ohmylove347 (101.12.90.73 臺灣), 03/26/2021 20:23:45

03/26 20:32, 3年前 , 5F
看起來蠻方便的,而且還可以避掉switch的break
03/26 20:32, 5F

03/26 20:44, 3年前 , 6F
同一樓
03/26 20:44, 6F

03/26 20:51, 3年前 , 7F
dict加上functional programming就涵蓋大部份switch用途
03/26 20:51, 7F

03/26 20:58, 3年前 , 8F
我從 2001 年開始用 python, 連 if-else 都很少用... XD
03/26 20:58, 8F

03/26 21:01, 3年前 , 9F
應該這樣講, 在 python 裡如果出現一堆 nested statement
03/26 21:01, 9F

03/26 21:02, 3年前 , 10F
通常是你有東西搞錯了... 這個我也不太會講.
03/26 21:02, 10F

03/26 21:18, 3年前 , 11F
他比 switch case 酷多ㄌ
03/26 21:18, 11F

03/26 21:25, 3年前 , 12F
if太多我就會重寫了...真的是如上面講的有問題...
03/26 21:25, 12F

03/26 21:35, 3年前 , 13F
{"a": funcA, "b": funcB}.get(val, funcDefault)()
03/26 21:35, 13F

03/26 21:39, 3年前 , 14F
funcA什麼的可以lambda x: x+123如果要最後有輸入
03/26 21:39, 14F

03/27 02:43, 3年前 , 15F
不用if-else 都用while 可以ㄇ
03/27 02:43, 15F

03/27 02:47, 3年前 , 16F
沒有也沒差,都已經用習慣了
03/27 02:47, 16F

03/27 03:37, 3年前 , 17F
你可以定意__match__在class裡面,應該比一般 switch case
03/27 03:37, 17F

03/27 03:38, 3年前 , 18F
有用吧
03/27 03:38, 18F

03/27 09:06, 3年前 , 19F
java跟js中都算很冷門的功能
03/27 09:06, 19F

03/27 09:54, 3年前 , 20F
case final void sony;
03/27 09:54, 20F

03/27 10:51, 3年前 , 21F
Pattern matching 在 functional programming 還滿常用
03/27 10:51, 21F

03/27 10:51, 3年前 , 22F
的吧?
03/27 10:51, 22F

03/27 11:06, 3年前 , 23F
for/while 比 if-else 常出現無誤, 大概 10:1 的比例. XD
03/27 11:06, 23F

03/27 11:08, 3年前 , 24F
譬如 try-catch, 上古神獸 C 就只有 if 的選擇.
03/27 11:08, 24F

03/27 11:11, 3年前 , 25F
然後第二個例子我就舉不出來了, 因為真的想不到常見的.
03/27 11:11, 25F

03/27 11:11, 3年前 , 26F
在我的環境, 都是很特別的狀況才會用到 if-else.
03/27 11:11, 26F

03/27 11:31, 3年前 , 27F
讓我想到OCaml
03/27 11:31, 27F

03/27 12:58, 3年前 , 28F
不知M大能否舉例完全不用if-else呢?Google了一下還是沒
03/27 12:58, 28F

03/27 12:58, 3年前 , 29F
什麼想法@@
03/27 12:58, 29F

03/27 13:50, 3年前 , 30F
不會到完全不寫 if 的程度啦,等一下我來整理一篇
03/27 13:50, 30F

03/27 14:16, 3年前 , 31F
不用if就是用loop、dict的key放condition或一些DP手法
03/27 14:16, 31F

03/27 14:16, 3年前 , 32F
寫python的常常追求所謂的pythonic,不過我自己是覺得
03/27 14:16, 32F

03/27 14:17, 3年前 , 33F
simple is best,最直覺的寫法通常就是最好的
03/27 14:17, 33F

03/27 14:37, 3年前 , 34F
從 java 轉 kotlin 後,就常用 enum / sealed class
03/27 14:37, 34F

03/27 14:37, 3年前 , 35F
搭配 switch case 語法了。因為編譯器能檢查的寫法才
03/27 14:37, 35F

03/27 14:37, 3年前 , 36F
是最好的
03/27 14:37, 36F

03/27 14:54, 3年前 , 37F
好奇+1 if else還是很常出現(寫java
03/27 14:54, 37F

03/27 15:34, 3年前 , 38F
把條件判斷放在dict比用if else還更常用
03/27 15:34, 38F

03/27 15:48, 3年前 , 39F
好奇怎麼寫+1
03/27 15:48, 39F

03/27 20:44, 3年前 , 40F
誰說switch-case在js算冷門? 用超多好嗎 = =
03/27 20:44, 40F

03/28 01:32, 3年前 , 41F
有差嗎?轉換成硬體語言都是cond jump...換個寫法沒比較
03/28 01:32, 41F

03/28 01:32, 3年前 , 42F
高級
03/28 01:32, 42F

03/28 01:40, 3年前 , 43F
haha 又來了
03/28 01:40, 43F

03/28 08:15, 3年前 , 44F
能減少cond jump才是重點 或者branch 能讓cpu預測到
03/28 08:15, 44F

03/28 10:01, 3年前 , 45F
這樣才能寫狀態機啊
03/28 10:01, 45F

03/28 17:31, 3年前 , 46F
沒寫過switch case就不算寫過程式…連寫script都不算
03/28 17:31, 46F
文章代碼(AID): #1WNRR8oc (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1WNRR8oc (Soft_Job)