2024-09-27 18:08:05 发布
网友
我最近发现了一些从不同目录调用函数的代码,如下所示:
modules["module_name"].function(parameters)
然后,我想到了通过这种格式的列表调用函数(但不是模块;我已经知道怎么做了),如下所示:
[function_name](parameters)
(我使用Python2.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
不能在列表中调用这样的函数。我不知道你的语法是什么。这是不可能的,但您可以从下面的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来查找该函数
globals
def foo(arg): print(arg) function_name = 'foo' globals()[function_name](3)
顺便说一句,我还是想知道2.7分是多少
如果列表是在其他模块中创建的:
module.py它应该如下所示:
您可以在自己的模块中这样调用函数:
这里重要的一点是,在列出函数之前,以及在创建列表的同一模块中,应该定义函数。换句话说,您的代码将被破坏
别问为什么,我也有python 2.7
不能在列表中调用这样的函数。我不知道你的语法是什么。这是不可能的,但您可以从下面的dict或变量调用方法引用
如果您希望,函数存储在字典中,如下所示
那么你可以这样称呼它
正在使用列表调用函数。。。您可以有一个函数列表,并从索引中调用它
这也适用于字典,因为函数和其他任何东西一样只是指针
但是我相信您希望通过变量的名称来查找函数,在这种情况下,可能(idk,从来没有这样做过)使用
globals
来查找该函数顺便说一句,我还是想知道2.7分是多少
相关问题 更多 >
编程相关推荐