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 相关文章推荐
闭包在python中的应用之translate和maketrans用法详解
Aug 27 Python
python分析nignx访问日志脚本分享
Feb 26 Python
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
Python学习小技巧之列表项的排序
May 20 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
Python BeautifulReport可视化报告代码实例
Apr 13 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 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计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
js实现简单的倒计时
2021/01/28 Javascript
python shell根据ip获取主机名代码示例
2017/11/25 Python
详解Python自建logging模块
2018/01/29 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
最新党员的自我评价分享
2013/11/04 职场文书
公司董事长职责
2013/12/12 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
十周年庆典策划方案
2014/06/03 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
信访工作个人总结
2015/03/03 职场文书
2015年资料员工作总结
2015/04/25 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书