Jedes Objekt, das ich von in Python kenne, kann von seiner Basisklasse Initialisierung kümmert durch den Aufruf:Warum funktioniert super (Thread, self) .__ init __() nicht für eine threading.Thread-Unterklasse?
super(BaseClass, self).__init__()
Dies scheint nicht der Fall mit einer Unterklasse von threading.Thread
zu sein, da, wenn ich versuche, diese in SubClass.__init__()
, Ich bekomme:
RuntimeError: thread.__init__() not called
Was gibt diesen Fehler? Ich schaute auf die Quelle für threading.Thread
und es sieht so aus __init__
Methode sollte Thread.__initialized = True
eingestellt werden. Ich sehe, dass alle Beispiele verwenden Sie die folgende __init__
:
class YourThread(threading.Thread):
def __init__(self, *args):
threading.Thread.__init__(self)
# whatev else
Aber warum?
Ich denke, Sie haben richtig abgeleitet –
Hallo ja, Sie haben Recht. Do! Vielen Dank. –
Das war aufschlussreich. +1. –