Python中实现switch功能实例解析


Posted in Python onJanuary 11, 2018

前言

今天在学习python的过程中,发现python没有switch这个语法。于是就想在python中如何才能实现这个功能呢?

正文

本文中我们对switch的使用模拟为正常的数据库的增删改查操作的对应,如'select
对应'select action'等。

1.简单的if-else

正如我们所知,python中有if语句,而且当时学习C的时候,学到if-else时引出的的替代品就是switch,两者可以完美的互相替代,需要注意的是在python中else if简化成了elif。如下所示:

#!/usr/bin/env python
user_cmd = raw_input("please input your choice:\n")
if usercmd == "select"
 ops = "select action" 
elif usercmd == "update"
 ops = "update action" 
elif usercmd == "delete"
 ops = "delete action" 
elif usercmd == "insert"
 ops = "insert action" 
else 
 ops = "invalid choice!"
print ops
`</pre>

 2.使用字典

这里我们使用到了字典的函数:dict.get(key, default=None)。key--字典中要查找的值,default--如果指定键的值不存在时,返回该默认值。如下所示:

#!/usr/bin/env python
usercmd = raw_input("please input your choice:\n")
dic = {'select':'select action','update':'update action','delete':'delete action','insert':'insert action'}
defaultitem = 'invalid choice!'
ops = dic.get(usercmd,defaultitem)
print ops

3.使用lambda函数结合字典

lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方,这里就不再多加描述。如下所示:

#!/usr/bin/env python
usrcmd = raw_input("please input your choice:\n")
dic = {'select': lambda : "select action",
  'update': lambda : "update action",
  'delete': lambda : "delete action",
  'insert': lambda : "insert action"}
print cho[usr_cmd]()

总结

以上就是本文关于Python中实现switch功能实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
浅要分析Python程序与C程序的结合使用
Apr 07 Python
有趣的python小程序分享
Dec 05 Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
Aug 07 Python
在ipython notebook中使用argparse方式
Apr 20 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
python 利用zmail库发送邮件
Sep 11 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 Python
Python try except finally资源回收的实现
Jan 25 Python
python 递归相关知识总结
Mar 03 Python
Python中getpass模块无回显输入源码解析
Jan 11 #Python
python版微信跳一跳游戏辅助
Jan 11 #Python
微信跳一跳python辅助脚本(总结)
Jan 11 #Python
Python用sndhdr模块识别音频格式详解
Jan 11 #Python
Python用imghdr模块识别图片格式实例解析
Jan 11 #Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 #Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 #Python
You might like
php创建多级目录代码
2008/06/05 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
php数据访问之增删改查操作
2016/05/09 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
就业推荐表自我鉴定
2013/10/29 职场文书
移动通信专业自荐信范文
2013/11/12 职场文书
离婚起诉书范本
2015/05/18 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript