如何在Python中构造带有可变参数的动态函数调用
我想把一个可以接收可变数量参数的操作封装成一个带固定参数的通用函数,像这样:
def vectorizeIt(args, op)
op
是一个可以接收不同数量参数的函数,而 args
是我想传给它的参数列表。比如说,如果 len(args) == 3
,那么我想这样调用 op
:op(args[0], args[1], args[2])
。根据我的理解,op
需要明确地传入这些参数;我不能把参数列表改成只用一个列表或字典。希望能得到一些建议,如何实现这个。
1 个回答
4
使用 “星号”操作符 *
可以将任意数量的参数传递给 op
函数:
def vectorizeIt(args, op):
op(*args)
参考资料:
- Salty Crane: 如何使用 *args 和 **kwargs(也在上面提到过)
- 解包参数列表(官方文档)