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 22 Python
详解Python函数式编程—高阶函数
Mar 29 Python
Python异常处理例题整理
Jul 07 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
python内存动态分配过程详解
Jul 15 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
python的列表List求均值和中位数实例
Mar 03 Python
Python基于network模块制作电影人物关系图
Jun 19 Python
Pandas的Apply函数具体使用
Jul 21 Python
django有哪些好处和优点
Sep 01 Python
Python自动化爬取天眼查数据的实现
Jun 15 Python
Python中的pprint模块
Nov 27 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安装threads多线程扩展基础教程
2015/11/17 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
微信小程序开发探究
2016/12/27 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
python3中property使用方法详解
2019/04/23 Python
python3 字符串知识点学习笔记
2020/02/08 Python
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
端午节演讲稿
2014/05/23 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
毕业论文致谢范文
2015/05/14 职场文书