电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Python Switch Case三種實現方法代碼實例

瀏覽:67日期:2022-07-20 16:49:03

Python沒有switch語句,只能通過模擬來對應實現:

方法一:使用dictionary

**values = {value1: do_some_stuff1,value2: do_some_stuff2,...valueN: do_some_stuffN,}values.get(var, do_default_stuff)()

根據需求可以自行更改參數內容,靈活運用

def add(x,y): print x+y def minus(x,y): print x-y def multiply(x,y): print x*y def div(x,y): print x/y def fun_case_list(key,arg1,arg2): operator = { ’+’:add, ’-’:minus, ’*’:multiply, ’/’:div } if operator.has_key(key): return operator.get(key)(arg1,arg2) else: return ’No [%s] case in dic’%key #or do other funcif __name__ == '__main__': fun_case_list(’*’,3,5) fun_case_list(’l’,3,4)

或者你可以自己造一個類來實現:

class switch_case(object): def case_to_function(self,case,arg1,arg2): func_name = ’case_func_’+str(case) try: method = getattr(self,func_name) return method(arg1,arg2) except AttributeError: return ’No func found in case list,do default action here’ def case_func_add(self,arg1,arg2): temp = arg1 + arg2 return temp def case_func_minus(self,arg1,arg2): temp = arg1 - arg2 return temp def case_func_multiply(self,arg1,arg2): temp = arg1 * arg2 return temp def case_func_div(self,arg1,arg2): temp = arg1 / arg2 return tempfunc = ’minus’case = switch_case()print case.case_to_function(func,2,5)#或者是構造屬性去送參數,看個人喜好class switch_case(object): def __init__(self, case, arg1, arg2): self.case = str(case) self.arg1 = arg1 self.arg2 = arg2 def case_to_function(self): func_name = ’case_func_’+str(self.case) try: method = getattr(self,func_name) return method() except AttributeError: return ’No func found in case list,do default action here’ def case_func_add(self): temp = self.arg1 + self.arg2 return temp def case_func_minus(self): temp = self.arg1 - self.arg2 return temp def case_func_multiply(self): temp = self.arg1 * self.arg2 return temp def case_func_div(self): temp = self.arg1 / self.arg2 return tempfunc = ’minxus’case = switch_case(func,2,5)print case.case_to_function()

方法二:使用lambda

result = {’a’: lambda x: x * 5,’b’: lambda x: x + 7,’c’: lambda x: x - 2}[value](x)

方法三:Brian Beck提供了一個類 switch 來實現switch的功能

class switch(object): def __init__(self, value): self.value = value self.fall = False def __iter__(self): '''Return the match method once, then stop''' yield self.match raise StopIteration def match(self, *args): '''Indicate whether or not to enter a case suite''' if self.fall or not args: return True elif self.value in args: # changed for v1.5, see below self.fall = True return True else: return Falsev = ’two’for case in switch(v): if case(’one’): print 1 break if case(’two’): print 2 break if case(’ten’): print 10 break if case(’eleven’): print 11 break if case(): # default, could also just omit condition or ’if True’ print 'something else!' # No need to break here, it’ll stop anyway

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 防爆鼓风机-全风-宏丰鼓风机-上海梁瑾机电设备有限公司 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 首页 - 军军小站|张军博客 | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 加盟店-品牌招商加盟-创业项目商机平台 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 执业药师报名时间,报考条件,考试时间-首页入口 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 湖北省煤炭供应链综合服务平台| 智能终端_RTU_dcm_北斗星空自动化科技 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 天津电机维修|水泵维修-天津晟佳机电设备有限公司 |