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中使用第三方模块的教程
Apr 27 Python
python中的编码知识整理汇总
Jan 26 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python进行两个表格对比的方法
Jun 27 Python
Python简易计算器制作方法代码详解
Oct 31 Python
Django框架安装方法图文详解
Nov 04 Python
python实现井字棋小游戏
Mar 04 Python
django实现后台显示媒体文件
Apr 07 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
python利用pandas分析学生期末成绩实例代码
Jul 09 Python
Python之基础函数案例详解
Aug 30 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
JQuery筛选器全系列介绍
2013/08/27 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
Python实现二分查找算法实例
2015/05/26 Python
python爬取网页转换为PDF文件
2018/06/07 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
Linux机考试题
2015/07/17 面试题
家长会主持词
2014/03/26 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
记账会计岗位职责
2014/06/16 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
2016年小学生新年寄语
2015/08/18 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android