Python如何使用函数做字典的值


Posted in Python onNovember 30, 2019

这篇文章主要介绍了Python如何使用函数做字典的值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

当需要用到3个及以上的if...elif...else时就要考虑该方法进行简化
通过将函数名称当做字典的值,利用字典的关键字查询,可以快速定位函数,进行执行

【场景】用户查询信息,输入fn查询,执行对应函数

# 简单用十个函数模拟查询函数
def fun1():
  print("查询1")
def fun2():
  print("查询2")
def fun3():
  print("查询3")
def fun4():
  print("查询4")
def fun5():
  print("查询5")
def fun6():
  print("查询6")
def fun7():
  print("查询7")
def fun8():
  print("查询8")
def fun9():
  print("查询9")
def fun10():
  print("查询10")

传统方法 if...elif...elif...else(写起来很麻烦)

choice = input("请输入查询内容fn:")
if choice == 'f1':
  fun1()
elif choice == 'f2':
  fun2()
elif choice == 'f3':
  fun3()
elif choice == 'f4':
  fun4()
elif choice == 'f5':
  fun5()
elif choice == 'f6':
  fun6()
else:
  fun10()

"""
请输入查询内容fn:f1
查询1

"""

将函数当做字典的值

# 创建字典
info = {'f1': fun1,
    'f2': fun2,
    'f3': fun3,
    'f4': fun4,
    'f5': fun5,
    'f6': fun6,
    'f7': fun7,
    'f8': fun8,
    'f9': fun9,
    'f10': fun10}
choice = input("请输入查询内容fn:")
info_value = info.get(choice)
print(info_value)
if info_value:
  info_value()
else:
  print('输入异常')
"""
请输入查询内容fn:f11
None
输入异常

"""

获取字典中的value 使用get()函数,这样当关键字不存在时,返回的值的None,不会导致程序报错

【总结】遇到连续重复的代码编写时,要思考解决方法,提高编程效率,同时增加代码的可读性

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

Python 相关文章推荐
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
python开发之str.format()用法实例分析
Feb 22 Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
Python中str.format()详解
Mar 12 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
Python按钮的响应事件详解
Mar 04 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 Python
关于Numpy中的行向量和列向量详解
Nov 30 #Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 #Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
Nov 30 #Python
python 实现多维数组转向量
Nov 30 #Python
python 二维矩阵转三维矩阵示例
Nov 30 #Python
Python三元运算与lambda表达式实例解析
Nov 30 #Python
python将三维数组展开成二维数组的实现
Nov 30 #Python
You might like
PHP新手上路(三)
2006/10/09 PHP
火车头采集器3.0采集图文教程
2007/03/17 PHP
PHP中的extract的作用分析
2008/04/09 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python实现基于SVM手写数字识别功能
2020/05/27 Python
对python中的装包与解包实例详解
2019/08/24 Python
python 求定积分和不定积分示例
2019/11/20 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
教育专业个人求职信
2013/12/02 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
教师节主题班会方案
2015/08/17 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS