中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么在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

庆阳市| 宁陵县| 新乡市| 遵义市| 寻甸| 壤塘县| 宜阳县| 靖安县| 黑山县| 武功县| 昌图县| 弥渡县| 买车| 洞头县| 宜城市| 榆中县| 岑溪市| 子洲县| 深水埗区| 甘南县| 新平| 紫阳县| 尼玛县| 新兴县| 云浮市| 乐安县| 伊通| 大足县| 胶南市| 扶绥县| 呼和浩特市| 新田县| 庆阳市| 永兴县| 中山市| 内乡县| 洛浦县| 海安县| 芦山县| 太白县| 锡林郭勒盟|