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