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使用cookie库操保存cookie详解
Mar 03 Python
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
python递归实现快速排序
Aug 18 Python
在python中以相同顺序shuffle两个list的方法
Dec 13 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
Django框架视图函数设计示例
Jul 29 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
python中threading和queue库实现多线程编程
Feb 06 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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
phpfans留言版用到的install.php
2007/01/04 PHP
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
浅析PHP文件下载原理
2014/12/25 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
初识laravel5
2015/03/02 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
PHP培训要多少钱
2017/06/06 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
python分析apache访问日志脚本分享
2015/02/26 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
Python变量作用范围实例分析
2015/07/07 Python
快速查询Python文档方法分享
2017/12/27 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
使用Tkinter制作信息提示框
2020/02/18 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
法学专业应届生求职信
2013/10/16 职场文书
学前教育毕业生自荐信范文
2013/12/24 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
男人帮观后感
2015/06/18 职场文书
Nginx反向代理学习实例教程
2021/10/24 Servers