看板 Soft_Job 關於我們 聯絡資訊
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
dave123: 已知用火 03/26 18:39
timTan: 規格叫做pattern matching 03/26 19:05
hegemon: 蛇粉快來看看你們最愛的蛇蛇已知用火成這樣03/26 19:30
lee457088: swtich: a: break b: break: nintendo: purchase. 03/26 19:31
※ 編輯: ohmylove347 (101.12.90.73 臺灣), 03/26/2021 20:23:45
noahleft: 看起來蠻方便的,而且還可以避掉switch的break 03/26 20:32
neo5277: 同一樓 03/26 20:44
tnfshjcc: dict加上functional programming就涵蓋大部份switch用途 03/26 20:51
Muscovy: 我從 2001 年開始用 python, 連 if-else 都很少用... XD 03/26 20:58
Muscovy: 應該這樣講, 在 python 裡如果出現一堆 nested statement 03/26 21:01
Muscovy: 通常是你有東西搞錯了... 這個我也不太會講. 03/26 21:02
splitline: 他比 switch case 酷多ㄌ 03/26 21:18
OrzOGC: if太多我就會重寫了...真的是如上面講的有問題... 03/26 21:25
tnfshjcc: {"a": funcA, "b": funcB}.get(val, funcDefault)() 03/26 21:35
tnfshjcc: funcA什麼的可以lambda x: x+123如果要最後有輸入 03/26 21:39
Firstshadow: 不用if-else 都用while 可以ㄇ 03/27 02:43
taipoo: 沒有也沒差,都已經用習慣了 03/27 02:47
yyhsiu: 你可以定意__match__在class裡面,應該比一般 switch case 03/27 03:37
yyhsiu: 有用吧 03/27 03:38
aidansky0989: java跟js中都算很冷門的功能 03/27 09:06
marktak: case final void sony; 03/27 09:54
brianhsu: Pattern matching 在 functional programming 還滿常用 03/27 10:51
brianhsu: 的吧? 03/27 10:51
Muscovy: for/while 比 if-else 常出現無誤, 大概 10:1 的比例. XD 03/27 11:06
Muscovy: 譬如 try-catch, 上古神獸 C 就只有 if 的選擇. 03/27 11:08
Muscovy: 然後第二個例子我就舉不出來了, 因為真的想不到常見的. 03/27 11:11
Muscovy: 在我的環境, 都是很特別的狀況才會用到 if-else. 03/27 11:11
dmeiki: 讓我想到OCaml 03/27 11:31
TAMSHUI: 不知M大能否舉例完全不用if-else呢?Google了一下還是沒 03/27 12:58
TAMSHUI: 什麼想法@@ 03/27 12:58
Muscovy: 不會到完全不寫 if 的程度啦,等一下我來整理一篇 03/27 13:50
as30385438: 不用if就是用loop、dict的key放condition或一些DP手法 03/27 14:16
as30385438: 寫python的常常追求所謂的pythonic,不過我自己是覺得 03/27 14:16
as30385438: simple is best,最直覺的寫法通常就是最好的 03/27 14:17
csieflyman: 從 java 轉 kotlin 後,就常用 enum / sealed class 03/27 14:37
csieflyman: 搭配 switch case 語法了。因為編譯器能檢查的寫法才 03/27 14:37
csieflyman: 是最好的 03/27 14:37
fish0112: 好奇+1 if else還是很常出現(寫java 03/27 14:54
youtuuube000: 把條件判斷放在dict比用if else還更常用 03/27 15:34
a78998042a: 好奇怎麼寫+1 03/27 15:48
WunoW: 誰說switch-case在js算冷門? 用超多好嗎 = = 03/27 20:44
dave123: 有差嗎?轉換成硬體語言都是cond jump...換個寫法沒比較 03/28 01:32
dave123: 高級 03/28 01:32
superpandal: haha 又來了 03/28 01:40
jamesho8743: 能減少cond jump才是重點 或者branch 能讓cpu預測到 03/28 08:15
DellSale999: 這樣才能寫狀態機啊 03/28 10:01
otherman: 沒寫過switch case就不算寫過程式…連寫script都不算 03/28 17:31