• Python_函数做字典的值


    当需要用到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,不会导致程序报错

    【总结】遇到连续重复的代码编写时,要思考解决方法,提高编程效率,同时增加代码的可读性

  • 相关阅读:
    Hbase 安装
    Hive操作
    Hive安装
    HDFS操作
    hadoop安装
    番茄时间管理法(Pomodoro Technique)
    测试架构师修炼之道:“秘书九段”的故事
    windows远程连接报:身份错误,函数不支持的解决办法
    Linux crontab配置
    Hadoop 历史服务配置启动查看
  • 原文地址:https://www.cnblogs.com/wangxiaobei2019/p/11581718.html
Copyright © 2020-2023  润新知