Python分支结构(switch)操作简介


Posted in Python onJanuary 17, 2018

Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下。

switch语句用于编写多分支结构的程序,类似与if….elif….else语句。

switch语句表达的分支结构比if…elif…else语句表达的更清晰,代码的可读性更高

但是python并没有提供switch语句。

python可以通过字典实现switch语句的功能,实现方法分为两步:

首先,定义一个字典

其次,调用字典的get()获取相应的表达式。

计算器:

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操作

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

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)操作简介的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python的面向对象思想分析
Jan 14 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
使用python检测主机存活端口及检查存活主机
Oct 12 Python
python实现随机漫步算法
Aug 27 Python
python 图像平移和旋转的实例
Jan 10 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
浅析Python requests 模块
Oct 09 Python
Pytest测试框架基本使用方法详解
Nov 25 Python
Python内置的数据类型及使用方法
Apr 13 Python
python数字图像处理之对比度与亮度调整示例
Jun 28 Python
python2 与python3的print区别小结
Jan 16 #Python
python正则中最短匹配实现代码
Jan 16 #Python
Python程序员面试题 你必须提前准备!
Jan 16 #Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 #Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 #Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 #Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 #Python
You might like
第六节--访问属性和方法
2006/11/16 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
php自定义分页类完整实例
2015/12/25 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
js转换对象为xml
2017/02/17 Javascript
JSONP基础知识详解
2017/03/19 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
对vuex中store和$store的区别说明
2020/07/24 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Python 解析简单的XML数据
2020/07/24 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
Java面试题及答案
2012/09/08 面试题
旅游管理专业生自荐信范文
2014/01/02 职场文书
大学生就业意向书范文
2014/04/01 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
美术教师求职信范文
2015/03/20 职场文书