国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Python實現(xiàn)類似switch...case功能

2019-11-14 17:23:24
字體:
供稿:網(wǎng)友

最近在使用Python單元測試框架構(gòu)思自動化測試,在不段的重構(gòu)與修改中,發(fā)現(xiàn)了大量的if...else之類的語法,有沒有什么好的方式使Python具有C/C#/java等的switch功能呢?

在不斷的查找和試驗中,發(fā)現(xiàn)了這個:http://code.activestate.com/recipes/410692/,并在自己的代碼中大量的應(yīng)用,哈哈,下面來看下吧:

下面的類實現(xiàn)了我們想要的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 False下面是它的使用方法:v = 'ten'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(): # 默認(rèn) print "something else!"

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石屏县| 盘山县| 广德县| 景谷| 泰安市| 绍兴市| 嘉善县| 乐都县| 营山县| 大姚县| 中方县| 都兰县| 精河县| 伽师县| 昭苏县| 桦南县| 长宁县| 紫阳县| 日喀则市| 德州市| 肥东县| 勐海县| 双辽市| 和静县| 徐汇区| 桂林市| 盐城市| 浦东新区| 迁西县| 江口县| 桐梓县| 四子王旗| 浮梁县| 古浪县| 额尔古纳市| 博野县| 饶平县| 恭城| 舒城县| 大兴区| 息烽县|