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新手实现2048小游戏
Mar 31 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Python socket实现简单聊天室
Apr 01 Python
Django model update的多种用法介绍
Mar 28 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
Python算法中的时间复杂度问题
Nov 19 Python
python实现图片上添加图片
Nov 26 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
为Yahoo! UI Extensions Grid增加内置的可编辑器
2007/03/10 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
vue中如何使用ztree
2018/02/06 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
python新手经常遇到的17个错误分析
2014/07/30 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
迪奥美国官网:Dior美国
2019/12/07 全球购物
理工科学生的自我评价
2013/12/15 职场文书
大学生职业生涯设计书
2014/01/02 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS