34

次のような関数があるとします。

def _thread_function(arg1, arg2=None, arg3=None):
    #Random code

今、その関数を使用してスレッドを作成し、arg3 ではなく arg2 を指定したいと考えています。私はこれを以下のようにしようとしています:

#Note: in this code block I have already set a variable called arg1 and a variable called arg2
threading.Thread(target=self._thread_function, args=(arg1, arg2=arg2), name="thread_function").start()

上記のコードでは、構文エラーが発生します。arg2 としてスレッドに引数を渡すことができるように修正するにはどうすればよいですか?

4

2 に答える 2

67

kwargs パラメータを使用します。

threading.Thread(target=self._thread_function, args=(arg1,),
                 kwargs={'arg2':arg2}, name='thread_function').start()
于 2011-08-01T21:10:38.227 に答える