函数执行python 2.7中dictionary.get中的键是否存在

我正在使用 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 的那个。


我的问题是,如果字典中存在键,为什么会执行该函数?


是我做错了什么还是我在这里遗漏了什么?


慕田峪7331174
浏览 186回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python