91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python項目中利用switch實現一個多分支選擇功能

發布時間:2020-12-21 15:25:05 來源:億速云 閱讀:238 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在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塊錢
    無優惠
'''

dict 字典

可以使用字典實現 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 函數

這里推出一款 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實現一個多分支選擇功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

隆回县| 彰化县| 如皋市| 敦煌市| 青州市| 内乡县| 和林格尔县| 海安县| 怀安县| 射洪县| 柳江县| 天镇县| 江川县| 乌拉特前旗| 霸州市| 巴楚县| 建阳市| 海南省| 达日县| 尚志市| 惠东县| 澎湖县| 双江| 泗阳县| 樟树市| 鹿邑县| 崇左市| 洛南县| 洛川县| 姚安县| 册亨县| 定南县| 衡水市| 噶尔县| 开阳县| 汝州市| 张北县| 郓城县| 大同县| 平邑县| 巩留县|