Python中實(shí)現(xiàn)switch功能實(shí)例解析
前言
今天在學(xué)習(xí)python的過(guò)程中,發(fā)現(xiàn)python沒(méi)有switch這個(gè)語(yǔ)法。于是就想在python中如何才能實(shí)現(xiàn)這個(gè)功能呢?
正文
本文中我們對(duì)switch的使用模擬為正常的數(shù)據(jù)庫(kù)的增刪改查操作的對(duì)應(yīng),如'select
對(duì)應(yīng)'select action'等。
1.簡(jiǎn)單的if-else
正如我們所知,python中有if語(yǔ)句,而且當(dāng)時(shí)學(xué)習(xí)C的時(shí)候,學(xué)到if-else時(shí)引出的的替代品就是switch,兩者可以完美的互相替代,需要注意的是在python中else if簡(jiǎn)化成了elif。如下所示:
#!/usr/bin/env python user_cmd = raw_input("please input your choice:\n") if usercmd == "select" ops = "select action" elif usercmd == "update" ops = "update action" elif usercmd == "delete" ops = "delete action" elif usercmd == "insert" ops = "insert action" else ops = "invalid choice!" print ops `</pre>
2.使用字典
這里我們使用到了字典的函數(shù):dict.get(key, default=None)。key--字典中要查找的值,default--如果指定鍵的值不存在時(shí),返回該默認(rèn)值。如下所示:
#!/usr/bin/env python usercmd = raw_input("please input your choice:\n") dic = {'select':'select action','update':'update action','delete':'delete action','insert':'insert action'} defaultitem = 'invalid choice!' ops = dic.get(usercmd,defaultitem) print ops
3.使用lambda函數(shù)結(jié)合字典
lambda的一般形式是關(guān)鍵字lambda后面跟一個(gè)或多個(gè)參數(shù),緊跟一個(gè)冒號(hào),以后是一個(gè)表達(dá)式。lambda是一個(gè)表達(dá)式而不是一個(gè)語(yǔ)句。它能夠出現(xiàn)在Python語(yǔ)法不允許def出現(xiàn)的地方,這里就不再多加描述。如下所示:
#!/usr/bin/env python usrcmd = raw_input("please input your choice:\n") dic = {'select': lambda : "select action", 'update': lambda : "update action", 'delete': lambda : "delete action", 'insert': lambda : "insert action"} print cho[usr_cmd]()
總結(jié)
以上就是本文關(guān)于Python中實(shí)現(xiàn)switch功能實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- python switch 實(shí)現(xiàn)多分支選擇功能
- Python通過(guò)字典映射函數(shù)實(shí)現(xiàn)switch
- Python為何不支持switch語(yǔ)句原理詳解
- Python基于字典實(shí)現(xiàn)switch case函數(shù)調(diào)用
- Python Switch Case三種實(shí)現(xiàn)方法代碼實(shí)例
- 使用 Python 實(shí)現(xiàn)簡(jiǎn)單的 switch/case 語(yǔ)句的方法
- Python分支結(jié)構(gòu)(switch)操作簡(jiǎn)介
- python中Switch/Case實(shí)現(xiàn)的示例代碼
- 淺談python為什么不需要三目運(yùn)算符和switch
- Python 使用dict實(shí)現(xiàn)switch的操作
相關(guān)文章
Python中Cryptography庫(kù)實(shí)現(xiàn)加密解密
Python中Cryptography庫(kù)給你的文件加把安全鎖,本文主要介紹了Python中Cryptography庫(kù)實(shí)現(xiàn)加密解密,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02pandas is in和not in的使用說(shuō)明
這篇文章主要介紹了pandas is in和not in的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03python實(shí)現(xiàn)簡(jiǎn)單反彈球游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單反彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Python實(shí)現(xiàn)抓取網(wǎng)頁(yè)并且解析的實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)抓取網(wǎng)頁(yè)并且解析的功能實(shí)例,主要以解析百度問(wèn)答為例說(shuō)明其原理與方法,需要的朋友可以參考下2014-09-09基于python編寫(xiě)的shell腳本詳細(xì)講解
python相對(duì)于linux的shell腳本來(lái)說(shuō)更簡(jiǎn)單,功能更強(qiáng)大,代碼量也少很多,這里就為大家分享一下2021-09-09Keras函數(shù)式(functional)API的使用方式
這篇文章主要介紹了Keras函數(shù)式(functional)API的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Pandas.DataFrame時(shí)間序列數(shù)據(jù)處理的實(shí)現(xiàn)
本文主要介紹了Pandas.DataFrame時(shí)間序列數(shù)據(jù)處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02一文詳解如何實(shí)現(xiàn)PyTorch模型編譯
這篇文章主要為大家介紹了如何實(shí)現(xiàn)PyTorch?模型編譯詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04在Python中實(shí)現(xiàn)決策樹(shù)算法的示例代碼
決策樹(shù)(Decision Tree)是一種常見(jiàn)的機(jī)器學(xué)習(xí)算法,被廣泛應(yīng)用于分類(lèi)和回歸任務(wù)中,并且再其之上的隨機(jī)森林和提升樹(shù)等算法一直是表格領(lǐng)域的最佳模型,所以本文將介紹理解其數(shù)學(xué)概念,并在Python中動(dòng)手實(shí)現(xiàn),這可以作為了解這類(lèi)算法的基礎(chǔ)知識(shí)2023-08-08