我将如何使用字典调用函数?
How would I call a function by using a dictionary?
我最近发现了一些从不同目录调用函数的代码,如下所示:
modules["module_name"].function(parameters)
然后我想到了通过这种格式的列表调用函数(但不是模块;我已经知道怎么做),如下所示:
[function_name](parameters)
您不能在列表中调用这样的函数。我不知道你那里的语法是什么。这是不可能的,但你可以从下面的字典或变量中调用方法引用
如果你的函数像这样存储在字典中
def add(x, y):
return x + y
some_dict = {
'add' : add
}
然后就可以这样调用了
some_dict['add'](10, 10)
正在使用列表调用函数...您可以有一个函数列表并从索引中调用它
def foo(arg):
print(arg)
list_of_functions = [foo]
list_of_functions[0](3)
这也适用于字典,因为函数只是指针,和其他任何东西一样。
但我相信你想通过变量的名称找到函数,在那种情况下,可能(idk,从来没有走这条路)对那个使用 globals
def foo(arg):
print(arg)
function_name = 'foo'
globals()[function_name](3)
P.S。不过我还是想知道 2.7
如果列表是在其他模块中创建的:
module.py 它应该是这样的:
def add(a,b):
return a+b
lista = [add]
你可以在你自己的模块中这样调用函数:
from module import lista
res = lista[0](2,3)
print(res)
这里要注意的是,函数应该在列出它之前定义,并且在创建列表的同一模块中。否则您的代码将被破坏。
别问为什么我也有python 2.7
我最近发现了一些从不同目录调用函数的代码,如下所示:
modules["module_name"].function(parameters)
然后我想到了通过这种格式的列表调用函数(但不是模块;我已经知道怎么做),如下所示:
[function_name](parameters)
您不能在列表中调用这样的函数。我不知道你那里的语法是什么。这是不可能的,但你可以从下面的字典或变量中调用方法引用
如果你的函数像这样存储在字典中
def add(x, y):
return x + y
some_dict = {
'add' : add
}
然后就可以这样调用了
some_dict['add'](10, 10)
正在使用列表调用函数...您可以有一个函数列表并从索引中调用它
def foo(arg):
print(arg)
list_of_functions = [foo]
list_of_functions[0](3)
这也适用于字典,因为函数只是指针,和其他任何东西一样。
但我相信你想通过变量的名称找到函数,在那种情况下,可能(idk,从来没有走这条路)对那个使用 globals
def foo(arg):
print(arg)
function_name = 'foo'
globals()[function_name](3)
P.S。不过我还是想知道 2.7
如果列表是在其他模块中创建的:
module.py 它应该是这样的:
def add(a,b):
return a+b
lista = [add]
你可以在你自己的模块中这样调用函数:
from module import lista
res = lista[0](2,3)
print(res)
这里要注意的是,函数应该在列出它之前定义,并且在创建列表的同一模块中。否则您的代码将被破坏。
别问为什么我也有python 2.7