Python本着“简单”的设计原则,控制语句只有判断流程if…else…和循环语句while/for,并没有类似于C语言的switch语句。
这样,带来的问题是遇到多条件判断时只能使用if判断语句,导致一大堆的if语句,代码丑陋不美观。
if i == 1:
statement
elif i == 2:
statement
...
...
...
else:
statement
有没有办法实现switch语句呢,答案必须是有的!我们可以使用字典(dict)的get方法
def switch_case(value):
switcher = {
0: "zero",
1: "one",
2: "two",
}
return switcher.get(value, 'wrong value')
上面的代码等价于switch语句,即传入的参数如果是字典的索引键值,就可以得到相应的得到字典的值,如果没有匹配到相应的字典键值,就得到默认值(这里是
‘wrong value’)。