2016-04-12 13 views

答えて

1

[*args]{**kwargs}の両方の構文が無効です。 kwargsは既にdictです。したがって、辞書として使用する場合は、直接使用してください。 argstupleなので、その値をタプルとして使用する場合は直接使用し、何らかの理由でlistに変換する場合はlist(args)を使用できます。

あなたは、Timer()whose parameters are defined asをこれらの引数を渡している。そこには* Sが存在しないこと

Timer(interval, function, args=None, kwargs=None) 

注意:このコンストラクタのargskwargsパラメータは通常パラメータです。

したがって、3つ目の引数はすべて位置固定引数である必要があります。delayactionの場合、すべての内容はargsです。

[delay, action] + list(args) 

そして、あなたの四番目の引数は、ちょうどkwargsである、キーワード引数にする必要がある。これを行う1つの方法は、+と一緒にリストを追加することです。

は、これは動作するはずです:

Timer(delay, repeat_task, [delay, action] + list(args), kwargs).start() 
+0

がAAAHあなたが、しかし、それはエラーを吐き、その行の右ではありませんされている...それはこの1つ「アクション(引数、kwargsから)」である(私はおそらくべき私の質問では、エラーが「TypeError:unorderable types:dict()> = int()」と表示されていることがわかりました。 –

+0

これは新しいエラーです。 :)今私はこの新しいエラーを理解する必要があります...笑 –

関連する問題