Python如何使用函数做字典的值

yipeiwu_com6年前Python基础

这篇文章主要介绍了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中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)

前言 最近在网上搜了许多关于pandas.DataFrame的操作说明,都是一些基础的操作,但是这些操作组合起来还是比较费时间去正确操作DataFrame,花了我挺长时间去调整BUG的。...

python中的随机函数random的用法示例

一、random模块简介 Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。 二、random模块重要函数...

关于pytorch中网络loss传播和参数更新的理解

关于pytorch中网络loss传播和参数更新的理解

相比于2018年,在ICLR2019提交论文中,提及不同框架的论文数量发生了极大变化,网友发现,提及tensorflow的论文数量从2018年的228篇略微提升到了266篇,keras从...

深入理解python多进程编程

深入理解python多进程编程

1、python多进程编程背景 python中的多进程最大的好处就是充分利用多核cpu的资源,不像python中的多线程,受制于GIL的限制,从而只能进行cpu分配,在python的多进...

Python图像处理模块ndimage用法实例分析

Python图像处理模块ndimage用法实例分析

本文实例讲述了Python图像处理模块ndimage用法。分享给大家供大家参考,具体如下: 一 原始图像 1 代码 from scipy import misc from scipy...