亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python 使用dict實(shí)現(xiàn)switch的操作

 更新時(shí)間:2021年04月07日 14:46:39   作者:KeeJee  
這篇文章主要介紹了Python 使用dict實(shí)現(xiàn)switch的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Python3還是沒(méi)有switch,可以利用if-else來(lái)實(shí)現(xiàn),但是非常不方便。使用dict來(lái)實(shí)現(xiàn)會(huì)比較簡(jiǎn)潔優(yōu)雅。

# -*- coding: utf-8 -*-
"""
Python利用dict實(shí)現(xiàn)switch
""" 
def add(x, y): return x + y  
def subtract(x, y): return x - y           
def multiply(x, y): return x * y 
def divide(x, y):
  assert(y != 0)      
  return x / y 
mapping = {"+": add, "-": subtract, "*": multiply, "/": divide}
 
def cal(x, y, symbol="+"):
  assert(symbol in mapping)
  return mapping.get(symbol)(x, y) 
if __name__ == "__main__":
  result = cal(3, 0, "&")

補(bǔ)充:python 字典dict實(shí)現(xiàn)switch case【實(shí)際應(yīng)用】(非dict.get()方法實(shí)現(xiàn))

看了不少帖子,幾乎都是采用字典的.get()方法實(shí)現(xiàn),據(jù)說(shuō)有個(gè)弊端:“會(huì)將字典每個(gè)帶括號(hào)的方法都執(zhí)行一遍”。

以下方法可避免該弊端,并可以傳參。如有不足請(qǐng)指正!

#!/usr/bin/python3 
# conf_cmd = conf_items["cmd"].split(":")[0] 
test_no = "T1"
#test_no = "T2"
#test_no = "T3"
 
id = 1 
def test1(id):
  print("test1:%d" % id)
 
def test2(id):
  print("test2")
 
def test3(id):
  print("test3")
 
funcs = {"T1": test1,
     "T2": test2,
     "T3": test3} 
try:
  func = funcs[test_no]
  func(id)
except Exception:
  pass

輸出:

test1:1

補(bǔ)充:Python實(shí)現(xiàn)類(lèi)似switch的分支結(jié)構(gòu)

switch語(yǔ)句相信大家都很熟悉,而且swith語(yǔ)句表達(dá)的分支結(jié)構(gòu)比if...elif...else語(yǔ)句表達(dá)更清晰,代碼的可讀性更高,但是在Python中,卻沒(méi)有提供這一個(gè)關(guān)鍵字。那我們?cè)撊绾瓮ㄟ^(guò)其他方式來(lái)實(shí)現(xiàn)這類(lèi)似的結(jié)構(gòu)呢?

雖然沒(méi)有switch語(yǔ)句,但是我們可以通過(guò)Python中的dict即字典來(lái)實(shí)現(xiàn)類(lèi)似switch結(jié)構(gòu)的方法

實(shí)現(xiàn)代碼如下:

def operator(o,x,y):
 result={
     '+' : x+y,
     '-' : x-y,
     '*' : x*y,
     '/' : x/y
  }
 print(result.get(o))
oper=input()//接收從鍵盤(pán)輸入的數(shù)據(jù)
operator(oper,4,2)

運(yùn)行效果如下所示:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Python繪圖之自定義圖類(lèi)型控件實(shí)現(xiàn)混合類(lèi)型圖表

    Python繪圖之自定義圖類(lèi)型控件實(shí)現(xiàn)混合類(lèi)型圖表

    這篇文章主要為大家詳細(xì)介紹了Python如何新建繪圖類(lèi)型控件,實(shí)現(xiàn)混合類(lèi)型圖表,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08
  • 總結(jié)幾個(gè)非常實(shí)用的Python庫(kù)

    總結(jié)幾個(gè)非常實(shí)用的Python庫(kù)

    Python一直被自稱(chēng)“batteries included”,就是因?yàn)閮?nèi)置了許多非常有用的模塊,無(wú)需額外安裝和配置,即可直接使用. 除了內(nèi)建的模塊外,Python還有大量的第三方模塊,直接使用pip安裝即可使用.下面給大家簡(jiǎn)單介紹幾個(gè)Python非常實(shí)用的自帶庫(kù)和第三方庫(kù),需要的朋友可以參考下
    2021-06-06
  • python datetime 和時(shí)間戳互相轉(zhuǎn)換問(wèn)題

    python datetime 和時(shí)間戳互相轉(zhuǎn)換問(wèn)題

    time和datetime都是Python中的內(nèi)置模塊(不需要安裝,直接可以使用),都可以對(duì)時(shí)間進(jìn)行獲取,對(duì)時(shí)間格式進(jìn)行轉(zhuǎn)換,如時(shí)間戳和時(shí)間字符串的相互轉(zhuǎn)換,本文先給大家介紹python datetime 和時(shí)間戳互轉(zhuǎn)問(wèn)題,感興趣的朋友一起看看吧
    2022-11-11
  • Python中列表與元組的乘法操作示例

    Python中列表與元組的乘法操作示例

    這篇文章主要介紹了Python中列表與元組的乘法操作,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python中列表、元組的乘法,并附帶分析了字符串的乘法及元組乘法操作的注意事項(xiàng),需要的朋友可以參考下
    2018-02-02
  • Fiddler如何抓取手機(jī)APP數(shù)據(jù)包

    Fiddler如何抓取手機(jī)APP數(shù)據(jù)包

    Fiddler,這個(gè)是所有軟件開(kāi)發(fā)者必備神器!這款工具不僅可以抓取PC上開(kāi)發(fā)web時(shí)候的數(shù)據(jù)包,而且可以抓取移動(dòng)端,通過(guò)本文給大家介紹Fiddler如何抓取手機(jī)APP數(shù)據(jù)包,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • 卸載所有通過(guò)pip安裝的Python包的方法總結(jié)(Windows系統(tǒng))

    卸載所有通過(guò)pip安裝的Python包的方法總結(jié)(Windows系統(tǒng))

    這篇文章主要介紹了卸載所有通過(guò)pip安裝的Python包的方法總結(jié)(Windows系統(tǒng)),文中通過(guò)代碼示例和圖文講解的非常詳細(xì),并具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-08-08
  • python 動(dòng)態(tài)繪制愛(ài)心的示例

    python 動(dòng)態(tài)繪制愛(ài)心的示例

    這篇文章主要介紹了python 動(dòng)態(tài)繪制愛(ài)心的示例,幫助大家利用python繪制圖像,感興趣的朋友可以了解下
    2020-09-09
  • PyQt5實(shí)現(xiàn)界面(頁(yè)面)跳轉(zhuǎn)的示例代碼

    PyQt5實(shí)現(xiàn)界面(頁(yè)面)跳轉(zhuǎn)的示例代碼

    這篇文章主要介紹了PyQt5實(shí)現(xiàn)界面跳轉(zhuǎn)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python爬蟲(chóng)爬取、解析數(shù)據(jù)操作示例

    Python爬蟲(chóng)爬取、解析數(shù)據(jù)操作示例

    這篇文章主要介紹了Python爬蟲(chóng)爬取、解析數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了Python爬蟲(chóng)爬取、解析、存儲(chǔ)數(shù)據(jù)相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • Python3+Requests+Excel完整接口自動(dòng)化測(cè)試框架的實(shí)現(xiàn)

    Python3+Requests+Excel完整接口自動(dòng)化測(cè)試框架的實(shí)現(xiàn)

    這篇文章主要介紹了Python3+Requests+Excel完整接口自動(dòng)化測(cè)試框架的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論