如何使用列表调用函数?

2024-06-17 10:09:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近发现了一些从不同目录调用函数的代码,如下所示:

modules["module_name"].function(parameters)

然后,我想到了通过这种格式的列表调用函数(但不是模块;我已经知道怎么做了),如下所示:

[function_name](parameters)

(我使用Python2.7,不用问为什么)


Tags: 模块代码name目录modules列表格式function
3条回答

如果列表是在其他模块中创建的:

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

不能在列表中调用这样的函数。我不知道你的语法是什么。这是不可能的,但您可以从下面的dict或变量调用方法引用

如果您希望,函数存储在字典中,如下所示

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)

顺便说一句,我还是想知道2.7分是多少

相关问题 更多 >