濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Python 使用dict實(shí)現(xiàn)switch的操作

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

熱門標(biāo)簽:看懂地圖標(biāo)注方法 電話外呼系統(tǒng)招商代理 蘇州人工外呼系統(tǒng)軟件 打印谷歌地圖標(biāo)注 廣東旅游地圖標(biāo)注 電話機(jī)器人貸款詐騙 京華圖書館地圖標(biāo)注 佛山通用400電話申請 淮安呼叫中心外呼系統(tǒng)如何

Python3還是沒有switch,可以利用if-else來實(shí)現(xiàn),但是非常不方便。使用dict來實(shí)現(xiàn)會(huì)比較簡潔優(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ù)說有個(gè)弊端:“會(huì)將字典每個(gè)帶括號(hào)的方法都執(zhí)行一遍”。

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

#!/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)類似switch的分支結(jié)構(gòu)

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

雖然沒有switch語句,但是我們可以通過Python中的dict即字典來實(shí)現(xiàn)類似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()//接收從鍵盤輸入的數(shù)據(jù)
operator(oper,4,2)

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

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

您可能感興趣的文章:
  • python switch 實(shí)現(xiàn)多分支選擇功能
  • Python通過字典映射函數(shù)實(shí)現(xiàn)switch
  • Python為何不支持switch語句原理詳解
  • Python基于字典實(shí)現(xiàn)switch case函數(shù)調(diào)用
  • Python Switch Case三種實(shí)現(xiàn)方法代碼實(shí)例
  • 使用 Python 實(shí)現(xiàn)簡單的 switch/case 語句的方法
  • Python分支結(jié)構(gòu)(switch)操作簡介
  • Python中實(shí)現(xiàn)switch功能實(shí)例解析
  • python中Switch/Case實(shí)現(xiàn)的示例代碼
  • 淺談python為什么不需要三目運(yùn)算符和switch

標(biāo)簽:湖州 衡水 股票 駐馬店 中山 呼和浩特 江蘇 畢節(jié)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python 使用dict實(shí)現(xiàn)switch的操作》,本文關(guān)鍵詞  Python,使用,dict,實(shí)現(xiàn),switch,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python 使用dict實(shí)現(xiàn)switch的操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python 使用dict實(shí)現(xiàn)switch的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    股票| 监利县| 遂昌县| 霍城县| 满城县| 股票| 台东市| 会东县| 平阳县| 通道| 广东省| 江山市| 阿克苏市| 府谷县| 桂阳县| 永嘉县| 治县。| 凉城县| 奉化市| 万年县| 溧阳市| 杨浦区| 瓦房店市| 兴国县| 张家港市| 东海县| 舒城县| 明溪县| 平阴县| 绥棱县| 牟定县| 金门县| 达拉特旗| 丰宁| 贵溪市| 海原县| 公安县| 西宁市| 襄城县| 东阳市| 丰县|