後で呼び出されるように関数のコレクションをラップするクラスがあります。
class Wrapper(object):
def __init__(self, *funcs):
self.funcs = funcs
def callFuncs(self, *args):
# call each function with its respective arguments
提供された引数が正しくペアになっていることを確認するために、引数を各引数のタプルにグループ化する必要があることを指定します。空のタプルを取得する引数はありません。したがって、ととがfoo(a)
あり、そのようなものを構築する場合:bar(b)
bork()
Wrapper
wrapper = Wrapper(foo, bork, bar)
次に、次callFuncs()
のように使用します。
wrapper.callFuncs((a,),(),(b,))
簡単なことですが、私はそれを処理できます。おそらくpartial
s を使用して、各タプルを反復処理して引数を入力できるようにします。これは、変数の引数でも機能すると思います。しかし、キーワード引数はどうですか?
>>> def mytest(*args, **kwargs):
... print args, kwargs
...
>>> mytest((1,),(),(bar=3))
File "<stdin>", line 1
mytest((1,),(),(bar=3))
^
SyntaxError: invalid syntax
これらの引数のキーワードを指定するにはどうすればよいですか?