这篇文章主要介绍了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,不会导致程序报错
【总结】遇到连续重复的代码编写时,要思考解决方法,提高编程效率,同时增加代码的可读性
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
问题内容: 我正在尝试使Django函数进行JSON序列化并将其返回到对象中。 我正在这样使用它: 但是我得到这个错误: 有任何想法吗? 编辑:这是回溯: http://dpaste.com/38786/ 问题答案: 更新:Python现在拥有自己的json处理程序,只需使用即可代替。 Django序列化器模块旨在序列化Django ORM对象。如果要对常规Python字典进行编码,则应使用sim
如何使用Anyobject数组过滤字典?我试过这个。 但我错了 二进制运算符“!=”无法应用于“AnyObject”和“[字符串:AnyObject]”类型的操作数
问题内容: 我的密码 第一个文件: 第二档: 在上面的代码中,仅将“数据”字典的键传递给,但我希望键值对传递。如何纠正呢? 我希望这样被修改 这是我的要求,根据此给出答案 编辑: 字典键 类 更改为 标准 问题答案: 如果要像这样使用它们,请正常定义变量名称的函数: 现在,您可以在 调用 函数时使用: 它会按您想要的方式工作。 PS 请勿使用。等保留字(例如,改用)
我使用下面的逻辑来计算python列表中的平均时间增量。 以下是该函数的输入:- 然而,我得到了下面的错误。 在prepare_llog(llog_pd)288 289 result_df[‘输入率’]=\-- ##############################################################################################
5.3 字典函数 函数引用能保存在字典,这不意外,上节就提到过,脚本内定义的 s: 前缀变量(包括 函数引用),就自动保存在 s: 这个特殊字典中。关键是如何主动利用这个特性,为编 程需求带来便利。在本节中,将保存在字典键中的函数引用简称为字典函数。 将已有函数保存在字典中 沿用上节的示例,将函数引用保存在字典中,相关代码改写如下: " >>File: ~/.vim/vimllearn/funcr
问题内容: 如何通过点“。”访问Python词典成员? 例如,我想写而不是写。 我也想以这种方式访问嵌套的字典。例如 将指 问题答案: 你可以使用我刚刚制作的此类来做。通过此类,你可以像其他字典(包括json序列化)一样使用该对象,也可以使用点符号。希望对你有所帮助: 用法示例: