私はpython3に移植しようとしていますthis answer。しかし、私はThread.__init__
関数をpython3で設定する方法がわかりません。スレッドクラスのPython3でThreadクラスの__init__関数をオーバーロードする方法は?
python2 Thread.__init__
の減速は、次のとおりです。
Thread.__init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None)
しかし、そののpython3:
Thread.__init__(self, group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None)
注:のpython3で終わるがある:問題のargs=(), kwargs=None, *, daemon=None)
一部はIであります機能の減速時にアスタリスク*
を処理する方法を理解していない。それが何であるかを説明することも役立ちます。ただ、python2を使用して
が発生しますTypeError: __init__() takes from 1 to 6 positional arguments but 7 were given
にはどうすればのpython3 Thread.__init__
を書くべきですか?
更新、例のpython2コールは次のとおりです。
Thread.__init__(self, group, target, name, args, kwargs, Verbose)
私のロジックは、これはのpython3に働くだろうと言うでしょうが、それは、答えはこれを呼び出す方法を含めるべきではありませんどのように、またはkwargsから含めて、それを構築する方法を指示:
Thread.__init__(self, group, target, name, args, kwargs, daemon)
'*'は、発信者が星の後のすべてに対してkwargsを使用するよう強制します。 – erip