参数匹配Python

时间:2015-12-03 04:28:17

标签: python

假设我有一个功能

def my_func(a,b,c):
    return a+b+c

我只能通过字符串调用它:

eval("my_func")

假设我有一个相应参数的字典:

parm = {'a':1,'b':2,'c':3}

如何将其传递给eval("my_func")?我知道你可以这样做:

eval("my_func")(parm['a'],parm['b'],parm['c'])

但是,如果这不是一般解决方案,因为当函数发生变化时(即一个函数有2个参数与3相反)它就不会起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

正如其他人所评论的那样,这就是你想要的:

>>> eval("my_func")(**parm)
6