当需要用到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(写起来很麻烦)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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_函数做字典的值相关推荐

  1. MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理

    MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理        AES_DECRYPT(表的字段名字,'钥匙')函数 解密处理 例,表结构: 现在插入一条数据,对p ...

  2. 12.从入门到精通:Python字典,创建字典,访问字典的值,修改字典,删除字典,字典键的特性,字典内置函数和方法

    12.从入门到精通:Python字典,创建字典,访问字典的值,修改字典,删除字典,字典键的特性,字典内置函数和方法 Python字典 创建空字典 访问字典里的值 修改字典 删除字典元素 字典键的特性 ...

  3. Excel 函数Min求最小值值为空时为零的情况如何处理,或者排除0怎么做

    MIN函数求最小值,空为零的处理及文字为零的处理 Excel中,用MIN函数求最小值,往往出来的0是因为值为空,有时值中如果存在文字,或者取不到值,也会造成为0.这是由于MIN函数的特性决定的,那么, ...

  4. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  5. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  6. Python开发基础总结之函数+闭包+字典+列表

    一.函数的使用: 1.函数的作用域:函数中定义一个变量,如果和全局变量重名,则全局变量名称就会被覆盖,也就是,这里对这个变量的更改,不会更改全局变量.但是,如果直接使用的话,是会使用全局变量的.同时, ...

  7. python 字典的值可以为集合吗_转:Python字典与集合操作总结

    1 一.创建字典2 方法①:3 >>> dict1 ={}4 >>> dict2 = {'name': 'earth', 'port': 80}5 >> ...

  8. python函数参数定义顺序_Python函数定义-位置参数-返回值

    原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...

  9. Python 学习笔记(2)字典默认值和集合的操作

    一.设置字典默认值 #字典的 get方法可以根据获取 value = some_dict.get(key, default_value) 例子如下: b_dict={"a":1,& ...

最新文章

  1. zabbix配置外部邮件服务器进行邮件报警
  2. 什么是面向对象(OOP)
  3. setsockopt()用法(转载)
  4. android 平板横版布局,引领构建安卓平板横屏生态 华为MatePad Pro凭什么?
  5. ubuntu下安装win7虚拟机总结
  6. java 普元_也谈普元 - 狂奔 lion - BlogJava
  7. 解释颜色深度概念:8 bit、16 bit、32 bit的意思
  8. 网络安全等级保护细则
  9. Mac下cmake使用
  10. Windows server DHCP服务器为多个VLAN分配IP地址
  11. 农业科普:智慧果园种植科研(二)
  12. POE交换机供电知识
  13. vue使用百度地图(BMap)去掉百度地图的标志。
  14. mongodb 基于3千万条数据, 查询30万结果集,分页问题
  15. android 联想云盘,附文:联想云盘安装_联想 小新Air 12 LTE版_笔记本评测-中关村在线...
  16. 比利时银行集团KBC创建基于区块链的硬币
  17. COCOMOII模型--软件成本估算
  18. Python 列表(list)
  19. 193884-53-6,APS-5,9-(4-氯苯硫代磷酰氧亚甲基)-10-甲基二氢吖啶二钠盐作为发光探针被用于基因芯片的研究中
  20. 英语 | Day 25、26 x 句句真研每日一句(断开、嵌套)

热门文章

  1. 无根树转有根树的一般方法
  2. QQ 5.0侧滑HorizontalScrollView以及自定义ViewGroup
  3. 在CentOS上安装FFMPEG和Gstream-ffmpeg
  4. 我的技术博客在博客园落户了
  5. 正则表达式,VI,SED及shell编程2010-12-05
  6. ORA-12154:TNS:无法解析指定的连接标识符
  7. shell 补齐路径_bash shell:命令的文件名自动补全设置
  8. centos7离线安装mysql_Red Hat6.4离线安装mysql安装手册
  9. 【转】ABAP的坑1
  10. 艾弗森、穆大叔遭“姚式幽默”调侃 全场爆笑