如何迭代具有不同数量参数的函数

问题描述

我想遍历存储在字典中的许多函数

function_dict = {'func_a': partial(func_a),'func_b': partial(func_b)}

为了简单起见,我们假设这些函数是:

def func_a(x,y):
    return x + y

def func_b(x):
    return x**2

实际上,这些函数是外部库的一部分,所以我不能修改它们。

我希望能够遍历所有这些。但是,func_a 接收 2 个参数,而 func_b 接收 1 个参数。

我想做以下事情:

x = 2
y = 5

for key,func in function_dict.items():
    
    if (key=='func_a'):

        print( (func)(x,y) )

    if (key=='func_b'):

        print( (func)(x) )

产生的结果

7
4

在这个循环中,我使用了 if 语句来查看哪个函数出现并使用适当数量的参数。但是如果 function_dict 中的函数太多,这将无法使用。

我如何对其进行标准化,以便我可以遍历字典中的所有函数并为每个函数选取正确数量的参数?

非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)