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使用post提交数据到远程url的方法
Apr 29 Python
python中利用Future对象回调别的函数示例代码
Sep 07 Python
django模板语法学习之include示例详解
Dec 17 Python
简单了解Django模板的使用
Dec 20 Python
python如何实现反向迭代
Mar 20 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
python 阶乘累加和的实例
Feb 01 Python
详解numpy.meshgrid()方法使用
Aug 01 Python
Django框架ORM数据库操作实例详解
Nov 07 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
Python 简单计算要求形状面积的实例
Jan 18 Python
python 使用pandas读取csv文件的方法
Dec 24 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
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
MySQL相关说明
2007/01/15 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
js 图片等比例缩放代码
2010/05/13 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
python nmap实现端口扫描器教程
2020/05/28 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
python 安装impala包步骤
2020/03/28 Python
Python sorted排序方法如何实现
2020/03/31 Python
python爬虫容易学吗
2020/06/02 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
总结表彰大会主持词
2014/03/26 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
MySQL分区以及建索引的方法总结
2022/04/13 MySQL
方法汇总:Python 安装第三方库常用
2022/04/26 Python
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS