我们可以想到通过两种方式实现
方法1:用if ... else语句,这里不细讲。
方法2:用字典映射的方法
假设现在我们有一个字典如下:
switcher = {
0 : ‘Sunday’,
1 : ‘Monday’,
2 : ‘Tuesday’
}
day_name = switcher[day]
我们可以通过这样的方式获取指定key下面的值,从而实现了switch..case语句。但对比switch...case语句,当我们需要实现几种情况都不满足时的默认情况时,这种写法就不能满足我们的需求。
这时,我们使用python字典的get方法,如下
day_name = switcher.get(day, ‘Unknown’) # 第二个参数为不存在时的默认值
这样就实现了上述需求。但如果我们需要在每个case里编写语句,在每个key的条件下实现一些方法,需要怎么做呢。
我们定义几个函数:
switcher = {
0 : get_sunday,
1 : get_monday,
2 : get_thesday
}
def get_sunday():
return ‘Sunday’
def get_monday():
return ‘Monday’
def get_default():
return ‘Unknown’
day_name = switcher.get(day, get_default)()
这样就实现了我们的需求。