假设我有一个功能
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相反)它就不会起作用。
有什么想法吗?
答案 0 :(得分:4)
正如其他人所评论的那样,这就是你想要的:
>>> eval("my_func")(**parm)
6