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简洁易读风格的良好方法。之前也提到过几种比较常用的三目运算符,在我的前一篇文章“算法高级进阶简述”里有提到另外两种表达方式,日常工作研究中概要多使用这些高级表达方式。

猜你喜欢

转载自blog.csdn.net/u012614287/article/details/64613083