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')。