python實現switch功能

許多編程語言都有switch功能,但python我行我素的奉行着極簡的python哲學,沒有switch語句。不過它用一種更巧妙的方式將switch悄悄的藏了起來。
python字典可以實現switch功能,舉兩個具體例子說明:
首先可以用普通函數來實現特定功能:

# 定義需要使用的功能函數
def add(x,y):  
    return x+y  
def cut(x,y):  
    return x-y  
def multi(x,y):  
    return x*y  
def div(x,y):  
    return x/y  
# 定義調用這些函數的字典
operation = {'+':add,'-':cut,'*':multi,'/':div}
# 通過Python字典的get方法調用函數(別忘了輸入參數噢)  
print operation['+'](1,2)  
print add(1,2)  

如果函數體非常簡單,爲了讓代碼更加清晰可讀。這個也可以通過python的lambda表達式實現:

# 用lambda表達式定義python的字典
operation = {'+':lambda a,b:a+b,
'-':lambda a,b:a-b,
'*':lambda a,b:a*b,
'/':lambda a,b:a/b}
# 直接通過字典調用方法即可  
print operation['+'](1,2)  
print add(1,2)  

提到lambda表達式,這是貫徹python簡潔易讀風格的良好方法。之前也提到過幾種比較常用的三目運算符,在我的前一篇文章“算法高級進階簡述”裏有提到另外兩種表達方式,日常工作研究中概要多使用這些高級表達方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章