日常工作中很少使用switch(一般都是if...elif...else)今天我们看一下如何使用字典代替switch:
首先看switch代码:
switch(day):
{
case 0:
dayName = "Sunday";
...
...
break;
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
...
default:
dayName = "Unknown";
break;
}
注意:switch中可能存在代码块,我们尽量不要在switch中使用代码块,可以使用函数方法代替
使用字典代替:
day = 6
def get_sunday():
return 'Sunday'
def get_monday():
return 'Monday'
def get_tuesday():
return 'Tuesday'
def get_default():
return 'Unknown'
switcher = {
0 : get_sunday,
1 : get_monday,
2 : get_tuesday,
}
dayName = switcher.get(day, get_default)()
以上就是使用字典映射代替switch,在上面的方法中,我们可以抒写更复杂的表达式
网友评论