python使用字典实现switch_python之 利用字典与函数实现switch case功能
Python不像C/C++,Java等有switch-case的語法。不過其這個功能,比如用Dictionary以及l(fā)ambda匿名函數(shù)特性來替代實現(xiàn)。
字典+函數(shù)實現(xiàn)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
總結(jié): 利用 python 字典中的 key > 相當于 其他語言中的 switch,python 字典中 value 調(diào)用 對應函數(shù) > 相當于 其他語言中的 case
總結(jié)
以上是生活随笔為你收集整理的python使用字典实现switch_python之 利用字典与函数实现switch case功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u8转完看不到菜单_用友U8操作中的常见
- 下一篇: 海尔智家与海尔集团什么关系 看完你就分清