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程序中的应用示例
Mar 02 Python
Python实现的双色球生成功能示例
Dec 18 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
python仿抖音表白神器
Apr 08 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
python字符串反转的四种方法详解
Dec 02 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
python3 配置logging日志类的操作
Apr 08 Python
python怎么调用自己的函数
Jul 01 Python
opencv读取视频并保存图像的方法
Jun 04 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/04/18 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python字符串处理之count()方法的使用
2015/05/18 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python程序暂停的正常处理方法
2019/11/07 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
2014年体育工作总结
2014/11/24 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技