这篇文章主要介绍了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字典改变value值方法总结Python两个字典键同值相加的几种方法Python字典循环添加一键多值的用法实例python 使用值来排序一个字典的方法Python字典中的键映射多个值的方法(列表或者集合)python字典值排序并取出前n个key值的方法python字典键值对的添加和遍历方法python 字典(dict)按键和值排序