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