Python通过字典映射函数实现switch


Posted in Python onNovember 06, 2020

1、原因:python并不提供Switch语句

2、实现功能:传入某个字符串,来决定使用某个函数

# -*- encoding=utf-8 -*-
def aaa():
  print '这是aaa函数'
def bbb():
  print '这是bbb函数'
def ccc():
  print '这是ccc函数'
if __name__ == '__main__':
  choose_function = {'A': aaa, 'B': bbb, 'C': ccc}
  # 选择aaa函数
  name = 'A'
  if name in choose_function:
    fun = choose_function[name]
    fun() # 执行aaa函数
  else:
    print '选择函数错误,A->aaa,B->bbb,C->ccc'

运行结果

这是aaa函数

3、实现功能:传入某个字符串,实现选择某个列表

# -*- encoding=utf-8 -*-
aaa = ['aaa', 'bbb', 'ccc']
bbb = [1, 2, 3, 4, 5, 6]
ccc = []
if __name__ == '__main__':
  choose_list = {'A': aaa, 'B': bbb, 'C': ccc}
  # 选择bbb列表
  name = 'B'
  if name in choose_list:
    fun = choose_list[name]
    print bbb # 打印bbb列表
  else:
    print '选择列表错误,A->aaa,B->bbb,C->ccc'

运行结果

[1, 2, 3, 4, 5, 6]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python中正则表达式的使用详解
Oct 17 Python
在Django中同时使用多个配置文件的方法
Jul 22 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
Jul 08 Python
python防止随意修改类属性的实现方法
Aug 21 Python
python 一维二维插值实例
Apr 22 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
如何用tempfile库创建python进程中的临时文件
Jan 28 Python
Python使用grequests并发发送请求的示例
Nov 05 #Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 #Python
Python中常用的os操作汇总
Nov 05 #Python
Python Web项目Cherrypy使用方法镜像
Nov 05 #Python
Python实现异步IO的示例
Nov 05 #Python
Python requests HTTP验证登录实现流程
Nov 05 #Python
Python包资源下载路径报404解决方案
Nov 05 #Python
You might like
php 获取mysql数据库信息代码
2009/03/12 PHP
php date与gmdate的获取日期的区别
2010/02/08 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python 转义字符详细介绍
2017/03/21 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
Python的argparse库使用详解
2018/10/09 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
写好自荐信的要点
2013/11/06 职场文书
励志演讲稿500字
2014/08/21 职场文书
授权委托书样本
2014/09/25 职场文书
通知的写法
2015/04/23 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android