日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Switch...Case語(yǔ)法你支不支持?

Python3.10 新增了一個(gè)語(yǔ)法特性。

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),蓬江網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:蓬江等地區(qū)。蓬江做網(wǎng)站價(jià)格咨詢:18982081108

就是最近一直被熱議的 switch-case 語(yǔ)句

我剛接觸Python的時(shí)候,也納悶Python咋個(gè) switch 語(yǔ)句都沒(méi)有。

后來(lái)想明白了, 因?yàn)镻ython的哲學(xué)里面推崇的是簡(jiǎn)單實(shí)用,從Python之禪里面也能窺探一二

 
 
 
 
  1. 任何問(wèn)題應(yīng)有一種 
  2. 且最好只有一種, 
  3. 顯而易見(jiàn)的解決方法 

在沒(méi)有 switch … case 語(yǔ)句的時(shí)候,我們都是怎么解決這種問(wèn)題的呢?

用 if … elif…

例如:

 
 
 
 
  1. if code == 200: 
  2.     return "ok" 
  3. elif code == 404: 
  4.     return "no found" 
  5. elif code == 500 
  6.     return "error" 
  7. else: 
  8.     return "unknow" 

這段代碼看起來(lái)就很直觀,只是稍微啰嗦的地方就是每行都有code==xxx的表達(dá)式判斷語(yǔ)句

于是,在一些Python最佳實(shí)踐里面,某些場(chǎng)景就推薦用字典來(lái)實(shí)現(xiàn), 例如根據(jù)某個(gè)變量值返回不同的結(jié)果時(shí)

 
 
 
 
  1. data = { 
  2.     200: "ok", 
  3.     404: "no found", 
  4.     500: "error", 
  5. value = data.get(code, "unkonw") 

很好的解決的代碼繁瑣的問(wèn)題。

我們?cè)賮?lái)看看Python3.10中的switch case 怎么用的

 
 
 
 
  1. http_code = "418" 
  2. match http_code: 
  3.     case "200": 
  4.         print("OK") 
  5.         do_something_good() 
  6.     case "404": 
  7.         print("Not Found") 
  8.         do_something_bad() 
  9.     case "418": 
  10.         print("I'm a teapot") 
  11.         make_coffee() 
  12.     case _: 
  13.         print("Code not found") 

和其他語(yǔ)言中的switch case 語(yǔ)法差不多,新增了match 關(guān)鍵字,比Java少了“break”關(guān)鍵字。

Python從91年發(fā)布到今天經(jīng)歷了30個(gè)年頭

說(shuō)真的,沒(méi)有 switch case 完全不影響開(kāi)發(fā)效率,到3.10引入這么個(gè)語(yǔ)法糖出來(lái),只能算是個(gè)不痛不癢的功能

真正用在生產(chǎn)環(huán)境,也是5、6年之后了,除非后面有重大版本的發(fā)布,誰(shuí)沒(méi)事瞎折騰跟著你每年升級(jí)版本。

要知道,現(xiàn)在依然還有不少老系統(tǒng)還跑著Python2.x

我個(gè)人對(duì)這種語(yǔ)法糖層面的改進(jìn)基本是沒(méi)啥可激動(dòng)的!你要問(wèn)我支不支持,我肯定支持,這樣以后我也可以理直氣壯地跟別人說(shuō),誰(shuí)說(shuō)Python不支持 swtich case....

本文轉(zhuǎn)載自微信公眾號(hào)「Python之禪」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Python之禪公眾號(hào)。  


網(wǎng)頁(yè)名稱:Switch...Case語(yǔ)法你支不支持?
文章位置:http://www.dlmjj.cn/article/coicgdo.html