python - 参数匹配 Python

标签 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 个参数)它就不会工作。

有什么想法吗?

最佳答案

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

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

关于python - 参数匹配 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34057888/

相关文章:

python - 如何使用python从git存储库下载单个文件

c++ - 将python脚本添加到c++项目

来自网站的 Python XML 解析

Python排序列表设置

python - 如何在检测到的矩形中上下移动cv2.line来模拟Python中的人脸扫描?

python - 使用 PyGObject 获取 GDBusMenuModel 的菜单项

Python 类语法 - 这是个好主意吗?

python - 我正在尝试创建一个 plotly sunburst 图,但收到错误消息 : 'dtype: object, ' is not a leaf. '

python - 将文件数据转换为嵌套列表

python - 最初绘制正确设置所有轴的数据时执行的 matplotlib 函数的名称是什么?