【Python Trick】Python的switch-case实现

前言

在Python中,并没有实现switch-case语句,通过if-elif实现会显得麻烦,因此通过以下方式实现该语句功能。

实现方式

通过字典实现

以如下情景为例,将百分制分数转换为五分制分数。如100%转换为580%转换为4等。

 def foo(score):
return {
'100%':5,
'80%':4,
'60%':3,
'40%':2,
'20%':1,
'0%':0
}.get(score)

print(foo('100%')) #输出5
print(foo('80%')) #输出4

通过匿名函数实现

def foo(score,x):
return{
'100%':lambda x:x+5,
'80%':lambda x:x+4,
'60%':lambda x:x+3,
'40%':lambda x:x+2,
'20%':lambda x:x+1,
'0%':lambda x:x+0,
}[score](x)

print(foo('100%',0)) #输出5
print(foo('80%',0)) #输出4