gpt4 book ai didi

python - 如何使用相同的参数正确调用多个函数?

转载 作者:行者123 更新时间:2023-12-05 08:38:19 25 4
gpt4 key购买 nike

我有一些问题:

如何使用相同的参数调用多个函数(10,100、1000 个函数)?

举个例子:

def function1(arg):
return arg

def function2(arg):
return arg*2

def function_add_arg(arg):
return np.sum(arg)


def call_functions(values):

result = (function1(values), function2(values), function_add_arg(values))
return result

values = [1, 2, 3, 4]
result_tuple = call_functions(values)

如果我有 1000 个不同名称的函数怎么办? (函数_a, f2, 添加)所以你不能使用:

result = (eval(f'function_{i}({values})') for i in range(100))

我对这个例子的解决方案(这不是最好的,只是为了展示我的想法):

def call_functions(function_list, values):
result = tuple((function(values) for function in function_list))
return result

function_list = [function1, function2, function_add_arg]
values = [1, 2, 3, 4]

result_tuple = call_functions(function_list, values)

但是如何正确执行呢? (特别是如果我会调用更多函数)

不同的解决方案是使用 **kwargs 除了函数列表。

一些不同的、更好的解决方案?装饰器?

问候!

最佳答案

您可以使用装饰器构建该函数列表:

function_list = []
def register(function):
function_list.append(function)
return function

@register
def function1(arg):
return arg

@register
def function2(arg):
return arg*2

...

关于python - 如何使用相同的参数正确调用多个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63132902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com