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原始字符串(raw strings)用法实例
Oct 13 Python
python编写暴力破解FTP密码小工具
Nov 19 Python
Python函数式编程指南(二):从函数开始
Jun 24 Python
Python实现大文件排序的方法
Jul 10 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
Django基础三之视图函数的使用方法
Jul 18 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 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解析xml方法实例详解
2015/05/12 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
php实现word转html的方法
2016/01/22 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
利用jquery实现实时更新歌词的方法
2017/01/06 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
Python文件操作类操作实例详解
2014/07/11 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
星球大战与Python之间的那些事
2016/01/07 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python urllib3软件包的使用说明
2020/11/18 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
介绍一下#error预处理
2015/09/25 面试题
《小石潭记》教学反思
2014/02/13 职场文书
启动仪式策划方案
2014/06/14 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
Python经常使用的一些内置函数
2022/04/11 Python
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL