本篇文章小编给大家分享一下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,不会导致程序报错