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中使用Boolean操作符做真值测试实例
Jan 30 Python
浅析Python中的多进程与多线程的使用
Apr 07 Python
详解Python编程中time模块的使用
Nov 20 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
python 实现UTC时间加减的方法
Dec 31 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
关于sys.stdout和print的区别详解
Dec 05 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
php split汉字
2009/06/05 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
CI框架的安全性分析
2016/05/18 PHP
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
详解Python中最难理解的点-装饰器
2017/04/03 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
详解python中list的使用
2019/03/15 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
什么是设计模式
2012/06/17 面试题
优秀管理者事迹材料
2014/05/22 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
建国大业观后感600字
2015/06/01 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
详解Go语言中Get/Post请求测试
2022/06/01 Golang