我正在使用 Python 使用字典,并且正在使用以下方法搜索值:
my_dictionary_object.get("key")
众所周知,如果字典中缺少键,它将返回None对象。所以为了节省额外的行并使我的代码更有趣,我正在尝试:
def my_function():
'''do some calculations'''
return missing_value_from_dictionary
现在是有趣的部分;当我做
my_dictionary_object.get("key", my_function())
无论键是否丢失,它都会执行该函数,所以我想让我们删除括号,然后我做到了:
my_dictionary_object.get("key", my_function)
和(以防万一)
my_dictionary_object.get("key", lambda: my_function())
但是没有 lambda 的那个没有执行(因为它从来没有被调用过)同样发生在有 lambda 的那个。
我的问题是,如果字典中存在键,为什么会执行该函数?
是我做错了什么还是我在这里遗漏了什么?
相关分类