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爬取国外天气预报网站的方法
Jul 10 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
Python 使用with上下文实现计时功能
Mar 09 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
python提取具有某种特定字符串的行数据方法
Dec 11 Python
python设置环境变量的原因和方法
Jun 24 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
Django如何在不停机的情况下创建索引
Aug 02 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
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
python获取糗百图片代码实例
2013/12/18 Python
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python异常处理知识点总结
2019/02/18 Python
Python实现搜索算法的实例代码
2020/01/02 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
python中remove函数的踩坑记录
2021/01/04 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
Delphi工程师笔试题
2013/09/21 面试题
初中女生自我鉴定
2013/12/19 职场文书
公司周年庆活动方案
2014/08/25 职场文书
群众路线个人整改方案
2014/10/25 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
2015年教研员工作总结
2015/05/26 职场文书
大学生创业计划书
2019/06/24 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书