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 THREADING模块中的JOIN()方法深入理解
Feb 18 Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
Python正则表达式指南 推荐
Oct 09 Python
python自定义时钟类、定时任务类
Feb 22 Python
python实现证件照换底功能
Aug 20 Python
PyTorch预训练的实现
Sep 18 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
python retrying模块的使用方法详解
Sep 25 Python
python实现银行管理系统
Oct 25 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 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
在项目中寻找代码的坏命名
2012/07/14 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
Javascript MD4
2006/12/20 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
python实现按行切分文本文件的方法
2016/04/18 Python
python实现汉诺塔方法汇总
2016/07/25 Python
手把手教你python实现SVM算法
2017/12/27 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
python selenium操作cookie的实现
2020/03/18 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
自我鉴定 电子商务专业
2014/01/30 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
2014年新生军训方案
2014/05/01 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
银行员工考核评语
2014/12/31 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
2019各种承诺书范文
2019/06/24 职场文书