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绘制常用的图表
Aug 27 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
Python基于回溯法解决01背包问题实例
Dec 06 Python
Python实现登陆文件验证方法
Oct 06 Python
python numpy实现文件存取的示例代码
May 26 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
Python传递参数的多种方式(小结)
Sep 18 Python
详解Python Opencv和PIL读取图像文件的差别
Dec 27 Python
python切割图片的示例
Nov 12 Python
python实现简单文件读写函数
Feb 25 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 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
极典R601SW收音机
2021/03/02 无线电
PHP的博客ping服务代码
2012/02/04 PHP
php简单获取目录列表的方法
2015/03/24 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
Python中类的继承代码实例
2014/10/28 Python
使用Python写CUDA程序的方法
2017/03/27 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
python系列 文件操作的代码
2019/10/06 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
shell程序中如何注释
2012/02/17 面试题
幼儿如何来做好自我评价
2013/11/05 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
团支部推优材料
2014/05/21 职场文书
生日宴会策划方案
2014/06/03 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
食品卫生管理制度
2015/08/06 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书