从字典

时间:2016-04-25 19:09:38

标签: python python-3.x dictionary

我想从词典中调用一个函数。可能吗?如果是这样我将如何去做呢?

def function():
    pass

my_dic = {
    'hello': function()
}

2 个答案:

答案 0 :(得分:5)

根据我的理解,你的实际意思是如何将函数引用保留在字典中,以便以后能够通过键从字典中获取它来调用它。这是可能的,因为Python中的函数是first class objects

>>> def function():
...     print("Hello World")
... 
>>> d = {
...     'hello': function  # NOTE: we are not calling the function here - just keeping the reference
... }
>>> d['hello']()
Hello World

包含一些用例示例的相关主题:

答案 1 :(得分:2)

是的,有可能。与其他类型一样,函数可以存储在字典中。您的代码中的问题是,您存储函数的返回值(在这种情况下为None,而不是函数本身。

删除括号(),你应该好好去:

>>> my_dic = {
...    'hello': function
... }

>>> my_dic['hello']()
None