Ogni oggetto che io conosca in Python può prendersi cura di sua inizializzazione classe base chiamando:Perché super (Thread, self) .__ init __() funziona per una sottoclasse di threading.Thread?
super(BaseClass, self).__init__()
Questo non sembra essere il caso di una sottoclasse di threading.Thread
, dal momento che se provo questo nel SubClass.__init__()
, Ottengo:
RuntimeError: thread.__init__() not called
Cosa dà questo errore? Ho guardato la fonte per threading.Thread
e sembra che il metodo __init__
dovrebbe impostare Thread.__initialized = True
. Vedo che tutti gli esempi si utilizza il seguente __init__
:
class YourThread(threading.Thread):
def __init__(self, *args):
threading.Thread.__init__(self)
# whatev else
Ma perché?
Penso che tu abbia dedotto correttamente –
Ciao sì hai ragione. Doh! Grazie. –
Questo è stato perspicace. +1. –