導航:首頁 > 編程語言 > python為什麼去除了switch語句

python為什麼去除了switch語句

發布時間:2024-09-22 12:57:26

『壹』 為什麼Python中沒有Switch/Case語句

官方的解釋說,「用if… elif… elif… else序列很容易來實現 switch / case 語句」。而且可以使用函數字典映射和類的調度方法。

可以說官方的說明並沒有解釋什麼,只是給出了解決方案。換句話說,沒有回答為什麼。我認為其實官方真正想說的是:「Python 不需要 switch / case 語句」。

『貳』 為什麼Python中沒有Switch/Case語句

同於我用過的其它編程語言,Python 沒有 switch / case 語句。為了實現它,我們可以使用字典映射:


這段代碼類似於:


Python 代碼通常比處理 case 的標准方法更為簡短,也可以說它更難理解。當我初次使用 Python 時,感覺很奇怪並且心煩意亂。而隨著時間的推移,在 switch 中使用字典的 key 來做標識符變得越來越習以為常。


函數的字典映射

在 Python 中字典映射也可以包含函數或者 lambda 表達式:


雖然zero和one中的代碼很簡單,但是很多 Python 程序使用這樣的字典映射來調度復雜的流程。


類的調度方法

如果在一個類中,不確定要使用哪種方法,可以用一個調度方法在運行的時候來確定。


很靈活,對吧?

官方說明

官方文檔的解釋說,「用if... elif... elif... else序列很容易來實現 switch / case 語句」。而且可以使用函數字典映射和類的調度方法。

閱讀全文

與python為什麼去除了switch語句相關的資料

熱點內容
單片機延時程序計算 瀏覽:442
編譯原理語法翻譯 瀏覽:502
pr編譯出錯渲染存在偏移 瀏覽:260
如何製作自家的app 瀏覽:197
推薦一個解壓軟體rar解壓幫手 瀏覽:207
wd文檔加密器 瀏覽:745
伺服器上傳壓縮包一般是什麼格式 瀏覽:331
發送加密文件密碼幾位數 瀏覽:158
樹洞app怎麼樣 瀏覽:173
vivo編譯時間可以改么 瀏覽:147
編譯和編輯怎麼區分 瀏覽:979
iar編譯文件順序 瀏覽:898
java二叉搜索樹 瀏覽:633
王者怎麼看好友的伺服器 瀏覽:733
無線編碼單片機 瀏覽:464
天聯高級版域名伺服器地址 瀏覽:206
鴻蒙用什麼編譯 瀏覽:730
伺服器如何迅速擴容 瀏覽:792
伺服器無固定ip地址不 瀏覽:643
安卓手機如何折扣充值 瀏覽:996