国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python 使用dict實現switch的操作

瀏覽:6日期:2022-06-23 10:14:32

Python3還是沒有switch,可以利用if-else來實現,但是非常不方便。使用dict來實現會比較簡潔優雅。

# -*- coding: utf-8 -*-'''Python利用dict實現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, '&')

補充:python 字典dict實現switch case【實際應用】(非dict.get()方法實現)

看了不少帖子,幾乎都是采用字典的.get()方法實現,據說有個弊端:“會將字典每個帶括號的方法都執行一遍”。

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

#!/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

補充:Python實現類似switch的分支結構

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

雖然沒有switch語句,但是我們可以通過Python中的dict即字典來實現類似switch結構的方法

實現代碼如下:

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

運行效果如下所示:

Python 使用dict實現switch的操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 高清在线一区二区 | 欧美在线观看成人高清视频 | 永久黄网站色视频免费网站 | 亚洲三级免费 | 国产精品久久久久久福利漫画 | 91久久精品国产91性色tv | 日韩三级视频在线观看 | 欧美一级在线免费观看 | 韩国毛片免费 | 精品久久久久久久久久久 | 亚洲午夜精品在线 | 亚洲人成影院午夜网站 | 国产精品视频久 | 国产成人精品日本亚洲专 | 亚洲午夜精品一区二区 | 国产欧美另类久久久精品免费 | 黄色a三级免费看 | 欧美精品高清在线观看 | 欧美一级鲁丝片免费看 | 91天堂网| 日韩免费在线 | 欧美精品久久一区二区三区 | 国产黄色小视频 | 久久一级片 | 欧美亚洲一区二区三区在线 | 日日摸日日碰夜夜97 | 国产成人综合网在线播放 | 欧美孕交视频 | 一区二区三区四区在线视频 | 欧美日一本| 成人国产精品久久久免费 | 99免费精品 | 成人免费网站 | 草草在线观看视频 | 超级乱淫视频aⅴ播放视频 超级碰碰碰在线观看 | 男女无遮挡拍拍拍免费1000 | 精品久久久久久久久久中文字幕 | 99热在线观看 | 亚洲国产精品第一区二区 | 丝袜精品 欧美 亚洲 自拍 | 色综合九九 |