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 18 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
Python环境下搭建属于自己的pip源的教程
May 05 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
Puppeteer使用示例详解
Jun 20 Python
Python selenium的基本使用方法分析
Dec 21 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
python golang中grpc 使用示例代码详解
Jun 03 Python
django美化后台django-suit的安装配置操作
Jul 12 Python
Python grequests模块使用场景及代码实例
Aug 10 Python
教你怎么用python实现字符串转日期
May 24 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中显示数组与对象的实现代码
2011/04/18 PHP
JS实现清除指定cookies的方法
2014/09/20 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
jquery实现图片放大点击切换
2017/06/06 jQuery
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
JS实现求5的阶乘示例
2019/01/21 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Python 对象中的数据类型
2017/05/13 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
openCV提取图像中的矩形区域
2020/07/21 Python
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
如何设置Java的运行环境
2013/04/05 面试题
人事主管岗位职责
2015/02/04 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
设备技术员岗位职责
2015/04/11 职场文书
认识实习感想
2015/08/10 职场文书
外科护士长工作总结
2015/08/12 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
速龙x4-860k处理器相当于i几
2022/04/20 数码科技