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 相关文章推荐
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
python爬虫之xpath的基本使用详解
Apr 18 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
Python版名片管理系统
Nov 30 Python
使用python批量化音乐文件格式转换的实例
Jan 09 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
pytorch中tensor张量数据类型的转化方式
Dec 31 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
使用Python构造hive insert语句说明
Jun 06 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
pycharm无法导入lxml的解决办法
Mar 31 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中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
form表单序列化详解(推荐)
2017/08/15 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
TypeScript类型声明书写详解
2019/08/28 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python各层级目录下import方法代码实例
2020/01/20 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
Python实现爬取并分析电商评论
2020/06/19 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
自我鉴定模板
2013/10/29 职场文书
水务局局长岗位职责
2013/11/28 职场文书
关于赌博的检讨书
2014/01/08 职场文书
和睦家庭事迹
2014/05/14 职场文书
应届毕业生求职信
2014/05/26 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书