Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下。
switch语句用于编写多分支结构的程序,类似与if….elif….else语句。
switch语句表达的分支结构比if…elif…else语句表达的更清晰,代码的可读性更高
但是python并没有提供switch语句。
python可以通过字典实现switch语句的功能,实现方法分为两步:
首先,定义一个字典
其次,调用字典的get()获取相应的表达式。
计算器:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
from __future__ import division
def jia(x,y):
return x + y
def jian(x,y):
return x - y
def cheng(x,y):
return x * y
def chu(x,y):
return x / y
def operator(x,o,y):
if o = = '+' :
print (jia(x,y))
elif o = = '-' :
print (jian(x,y))
elif o = = '*' :
print (cheng(x,y))
elif o = = '/' :
print (chu(x,y))
else :
pass
operator( 2 , '/' , 4 )
|
用字典来实现switch操作
1
2
3
4
5
6
7
8
9
10
11
12
|
from __future__ import division
def jia(x,y):
return x + y
def jian(x,y):
return x - y
def cheng(x,y):
return x * y
def chu(x,y):
return x / y
operator = { "+" :jia, "-" :jian, "*" :cheng, "/" :chu}
print (operator[ "+" ]( 3 , 2 )) #operator["+"]等同于jia
print (jia( 3 , 2 )) #operator["+"](3,2)等同于jia(3,2)
|
运行结果:
5
5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from __future__ import division
def jia(x,y):
return x + y
def jian(x,y):
return x - y
def cheng(x,y):
return x * y
def chu(x,y):
return x / y
operator = { "+" :jia, "-" :jian, "*" :cheng, "/" :chu}
def f(x,o,y):
p = operator.get(o)(x,y)
print (p)
f( 15 , '/' , 5 )
|
总结
以上就是本文关于Python分支结构(switch)操作简介的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/m0_38066258/article/details/77415674