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发送arp欺骗攻击代码分析
Jan 16 Python
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 Python
Python实现控制台进度条功能
Jan 04 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
python实现聚类算法原理
Feb 12 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
Django 404、500页面全局配置知识点详解
Mar 10 Python
Numpy 多维数据数组的实现
Jun 18 Python
python缺失值填充方法示例代码
Dec 24 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+ajax实现的点击浏览量加1
2015/04/16 PHP
php处理复杂xml数据示例
2016/07/11 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
简述php环境搭建与配置
2016/12/05 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
Python pass 语句使用示例
2014/03/11 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
python3.7添加dlib模块的方法
2020/07/01 Python
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
经贸专业毕业生求职信
2014/03/23 职场文书
环卫个人总结
2015/03/03 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
大学入学感言
2015/08/01 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
创业计划书之面包店
2019/09/17 职场文书