您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么在python項目中利用switch實現一個多分支選擇功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
if else 判斷
我們通過最常用的 if else 判斷來實現一段代碼
def matching_if(type): if type == 0: return '優惠1塊錢' elif type == 1: return '優惠10塊錢' elif type == 2: return '優惠100塊錢' return '無優惠' if __name__ == '__main__': print(matching_if(1)) print(matching_if(999))
執行結果如下:
'''
打印輸出:
優惠10塊錢
無優惠
'''
可以使用字典實現 switch case,這種方式易維護,同時也能夠減少代碼量。如下是使用字典模擬的 switch case 實現:
def matching_dict(type): types = { 0: '優惠1塊錢', 1: '優惠10塊錢', 2: '優惠100塊錢' } return types.get(type, '無優惠') if __name__ == '__main__': print(matching_dict(1)) print(matching_dict(999))
代碼從整體上看著簡潔了很多,那還有沒有別的方式呢?
函數判斷從代碼數量來說并無優勢,優勢點在于其靈活性,如果根據不同的類型作出大量操作,函數運算無疑是最優的方式
def one(): return '優惠1塊錢' def two(): return '優惠10塊錢' def three(): return '優惠100塊錢' def default(): return '無優惠' def matching_method(type): types = { 0: one, 1: two, 2: three } method = types.get(type, default) return method() if __name__ == '__main__': print(matching_method(1)) print(matching_method(999))
優雅的代碼是程序員的追求之一,作者本人也有一定程度的代碼潔癖,所以涉及此類應用,會選擇第二種 dict 字典類型應用
這里推出一款 lambda 配合 dict 字典的方式,可以對運算條件作出更為精準的計算
def matching_lambda(type): matching_dict = lambda x: { x == 0: '優惠1塊錢', x == 1: '優惠10塊錢', x == 2: '優惠100塊錢' } return matching_dict(type)[True] if __name__ == '__main__': print(matching_lambda(1)) print(matching_lambda(2))
上述就是小編為大家分享的怎么在python項目中利用switch實現一個多分支選擇功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。