我有一个类,它包装了一组函数以便以后调用:
class Wrapper(object):
def __init__(self, *funcs):
self.funcs = funcs
def callFuncs(self, *args):
# call each function with its respective arguments
为了确保提供的参数正确配对,我指定参数必须为每个参数分组为元组。没有参数得到一个空元组。因此,如果我们有foo(a)
and bar(b)
,bork()
并且我们构造一个Wrapper
这样的:
wrapper = Wrapper(foo, bork, bar)
然后我们会这样使用callFuncs()
:
wrapper.callFuncs((a,),(),(b,))
很简单,我能应付。我可能会使用partial
s 所以我可以遍历每个元组并填写参数。我认为这甚至适用于变量 args。但是关键字参数呢?
>>> def mytest(*args, **kwargs):
... print args, kwargs
...
>>> mytest((1,),(),(bar=3))
File "<stdin>", line 1
mytest((1,),(),(bar=3))
^
SyntaxError: invalid syntax
如何为这些参数指定关键字?