我想从词典中调用一个函数。可能吗?如果是这样我将如何去做呢?
def function():
pass
my_dic = {
'hello': function()
}
答案 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