Python中实现switch功能实例解析
作者:最爱彩虹糖 发布时间:2021-06-03 05:35:09
标签:python,switch,字典
前言
今天在学习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]()
来源:http://blog.csdn.net/LS7011846/article/details/52626626


猜你喜欢
- 有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networ
- 本文实例讲述了JavaScript中filter的用法。分享给大家供大家参考,具体如下:filterfilter也是一个常用的操作,它用于把
- 如何在pytorch中使用word2vec训练好的词向量torch.nn.Embedding()这个方法是在pytorch中将词向量和词对应
- py读写修改常用的三种方法xlwt:用于写入 Excel 文件xlrd:用于读取 Excel 文件xlutils:用于操作 Excel 文件
- 前言首先图片格式转换的方法有很多,但是转二进制字节流的,我搜了一下午终于在 stackoverflow上搜到了 说一下为什么要在线转这个图片
- 如下所示:plt.rcParams['savefig.dpi'] = 300 #图片像素plt.rcParams['
- 以如下代码为例,我们在局部作用域内使用全局变量a,需要使用global关键字进行声明。否则代码会不可用。a = 100def fun():&
- 话说凌晨刚折腾完一台MySQL 5.7.19版本的安装,未曾料到早上MySQL官方就发布了最新的5.7.20版本。这个版本看似更新不多,但是
- 本文实例讲述了Python使用type动态创建类操作。分享给大家供大家参考,具体如下:使用type动态创建类动态语言和静态语言最大的不同,就
- argparse 模块是Python内置的用于命令项选项与参数解析的模块,可以轻松编写友好的命令行接口,能够帮助程序员为模型定义参数。传入一
- 这样的一段删除空字符串的代码:def not_empty(s): return s and s.strip()print(lis
- mysql_query("set autocommit=0"); $list_one = $db->fetch_f
- 单页应用程序是或多或少复杂的应用程序,它加载一个单一的HTML页面。每当用户与它们互动时,它们就会使用JavaScript动态地更新其内容。
- 其实就是通过 FontProperties来设置的,请参考以下代码:import matplotlib.pyplot as pltfrom
- 反射指的是运行时动态的获取变量的相关信息1. reflect 包类型是变量,类别是常量reflect.TypeOf,获取变量的类型,返回re
- 1、初识 errgroupWaitGroup 主要用于控制任务组下的并发子任务。它的具体做法就是,子任务 goroutine 执行前通过 A
- 一个很棒的 blog 文章,是 PPK 两年前写的,文章中解释了 contains() 和 compareDocumentPosition(
- 上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql
- 一、引入必要文件下载地址:(https://github.com/nghuuphuoc/bootstrapvalidator/archive
- 如下所示:# the basic ways = 0for x in range(10): s += x# the right ways =