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将阿拉伯数字转换为罗马数字的方法
Jul 10 Python
在Windows中设置Python环境变量的实例讲解
Apr 28 Python
python使用knn实现特征向量分类
Dec 26 Python
python pygame实现五子棋小游戏
Oct 26 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Django全局启用登陆验证login_required的方法
Jun 02 Python
python新手学习使用库
Jun 11 Python
Python datetime 如何处理时区信息
Sep 02 Python
Python3使用Selenium获取session和token方法详解
Feb 16 Python
Python实现byte转integer
Jun 03 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
PHP 文件类型判断代码
2009/03/13 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
prototype class详解
2006/09/07 Javascript
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
python爬虫之百度API调用方法
2017/06/11 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
python中的错误如何查看
2020/07/08 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
仓管岗位职责范本
2014/02/08 职场文书
2014年教师节寄语
2014/08/11 职场文书
检讨书范文500字
2015/01/28 职场文书
工作收入证明模板
2015/06/12 职场文书
初婚未育证明样本
2015/06/18 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS