温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何利用字典与函数实现switch case功能

发布时间:2021-10-27 17:06:46 来源:亿速云 阅读:231 作者:柒染 栏目:关系型数据库

python如何利用字典与函数实现switch case功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。


字典+函数实现switch模式下的四则运算:(switch 下运算符只用判断一次,不同于 if 、elsif 判断)

法1:
-- 代码
[root@bigdata01 ~]# cat t1.py 
#!/usr/bin/python
#coding:utf-8

def add(x,y):
return x+y

def sub(x,y):
return x-y

def mul(x,y):
return x*y

def div(x,y):
return x/y

operator = {"+":add,"-":sub,"*":mul,"/":div}

def f(x,o,y):
print operator.get(o)(x,y)

f(2,"+",2)
f(2,"-",2)
f(2,"*",2)
f(2,"/",2)


-- 运行情况
[root@bigdata01 ~]# python t1.py 
4
0
4
1

法2:
-- 代码
[root@bigdata01 ~]# cat t2.py 
def calc(type,x,y):
calculation = {'+':lambda :x+y,
'*':lambda:x-y,
'-':lambda:x*y,
'/':lambda:x/y}
return calculation[type]() 

result1 = calc('+',3,6)
result2 = calc('-',3,6)
result3 = calc('*',3,6)
result4 = calc('/',3,6)
print result1
print result2
print result3
print result4

-- 运行情况
[root@bigdata01 ~]# python t2.py 
9
18
-3
0

 利用 python 字典中的 key > 相当于 其他语言中的 switch,python 字典中 value 调用 对应函数 > 相当于 其他语言中的 case

看完上述内容,你们掌握python如何利用字典与函数实现switch case功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI