您的位置:首页 > 编程语言 > Python开发

python小技巧--用字典映射代替switch case语句

2018-01-26 15:18 477 查看
python没有自己的switch case语句,官方推荐是用if else语句实现。但实际上用字典映射的方法也可以实现。

比如我们要实现在C语言里这样的代码:day =1
switch(day){
case 0 : day_name='Sunday';break;
case 1 : day_name='Monday';break;
default: day_name='unknown';break;
}用字典映射可以这样实现:
day = 1
switcher = {
0 : 'Sunday',
1 : 'Monday',
}
day_name = switcher[day]
但是这样有个小问题,switch case语句下每种情况都可以写很多代码,是个语句块。所以我们还可以这样来实现,将原来字典里映射的每种情况的字符串改为函数名。在函数下就可以完成更多的操作了。代码如下:
day = 5
def get_Sunday():
return 'Sunday'
def get_Monday():
return 'Monday'
def default():
return 'Unkown'
switcher = {
0 : get_Sunday(),
1 : get_Monday()
}
day_name = switcher.get(day,default)()
print(day_name)
以上小技巧来源于慕课网上七月老师的视频~讲的超好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: