python中switch语句的实现

这又是一篇关于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

你可能感兴趣的:(python知识点)