Python不像其他语言有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。
实现步骤:
首先,定义一个字典
其次,调用字典的get()获取相应 的表达式
1.首先使用if-else实现
python代码:
#coding:utf-8
from __future__ import division
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
def operator(x,o,y):
if o=="+":
print add(x,y)
elif o=="-":
print cut(x,y)
elif o=="*":
print multi(x,y)
elif o=="/":
print div(x,y)
else:
pass
operator(3,'+',4)
运行结果:
7
[Finished in 0.4s]
2.使用字典实现
#coding:utf-8
from __future__ import division
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}
print operation['+'](1,2)
print add(1,2)
运行结果:
3
3
[Finished in 0.3s]
3.使用字典结合lambda匿名函数实现
#coding:utf-8
from __future__ import division
operation = {
'+':lambda x,y:x+y,
'-':lambda x,y:x-y,
'*':lambda x,y:x*y,
'/':lambda x,y:x/y
}
print operation['+'](1,2)
运行结果:
3
[Finished in 0.3s]