这又是一篇关于python和别的编程语言差异的博客.
无论是switch语句还是之前提到的三目运算符,都可以用if-elif-else条件判断语句来实现,所以这些在其他语言中常见的语句和运算符常常被我写python的时候忽略掉,也没向这方面细想过.偶尔用到其他的编程语言的时候,才惊觉道:原来python这货压根都没这种语法!
例如:在java中,switch语法如下:
switch(expression){
case value :
语句块
break;
case value
语句块
break;
...
default :
语句块
}
switch根据表达式的值去匹配 case后的值,并执行,如果都不符合,则执行default后的内容
那么在python中如何实现switch语句呢?
如上文所说,可以使用if-elif-else来实现:
def switch(expression):
if expression==1:
return 'value-->1'
elif expression==2:
return 'value-->2'
else:
return 'default'
print("执行switch语句结果:{0}".format(switch(5%2)))
执行结果为:
执行switch语句结果:value-->1
我特地在网上查了一下,还发现有一种更为普遍的有趣写法,利用了字典和匿名函数的特性,实现switch语句,具体写法如下:
switch={
0:lambda x:x+2,
1:lambda x:x**2,
2:lambda x:abs(x)
}
print("switch字典的输出结果为:{0}".format(switch[0](-34)))
执行结果为:
switch字典的输出结果为:-32
其实switch语句的实现有很多种,具体看怎么方便怎么用就行了
switch字典写法引用自:https://www.cnblogs.com/vawter/p/5943834.html