首页 > 编程语言 > 详细

Python_函数做字典的值

时间:2019-09-24 23:40:02      阅读:122      评论:0      收藏:0      [点我收藏+]

当需要用到3个及以上的if...elif...else时就要考虑该方法进行简化

通过将函数名称当做字典的值,利用字典的关键字查询,可以快速定位函数,进行执行

【场景】用户查询信息,输入fn查询,执行对应函数

 1 # 简单用十个函数模拟查询函数
 2 def fun1():
 3     print("查询1")
 4 def fun2():
 5     print("查询2")
 6 def fun3():
 7     print("查询3")
 8 def fun4():
 9     print("查询4")
10 def fun5():
11     print("查询5")
12 def fun6():
13     print("查询6")
14 def fun7():
15     print("查询7")
16 def fun8():
17     print("查询8")
18 def fun9():
19     print("查询9")
20 def fun10():
21     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_函数做字典的值

原文:https://www.cnblogs.com/wangxiaobei2019/p/11581718.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!