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中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
基于python socketserver框架全面解析
Sep 21 Python
详解Python中 sys.argv[]的用法简明解释
Dec 20 Python
python使用turtle库与random库绘制雪花
Jun 22 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
python实现文件的分割与合并
Aug 29 Python
python pillow模块使用方法详解
Aug 30 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
Python 数据的累加与统计的示例代码
Aug 03 Python
记一次Django响应超慢的解决过程
Sep 17 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 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的XML文件解释类应用实例
2014/09/22 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
jquery常用操作小结
2014/07/21 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
Three.js基础学习教程
2017/11/16 Javascript
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
tensorflow之并行读入数据详解
2020/02/05 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
pandas针对excel处理的实现
2021/01/15 Python
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
电大自我鉴定范文
2013/10/01 职场文书
借款协议书范本
2014/04/22 职场文书
倡议书作文
2015/01/19 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang