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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值