Cada objeto que conozco en Python puede hacerse cargo de su inicialización clase base llamando:¿Por qué no super (Thread, self) .__ init __() trabaja para una subclase threading.Thread?
super(BaseClass, self).__init__()
Este no parece ser el caso de una subclase de threading.Thread
, ya que si intento esto en SubClass.__init__()
, Obtengo:
RuntimeError: thread.__init__() not called
¿Qué causa este error? Miré la fuente para threading.Thread
y parece que el método __init__
debe establecer Thread.__initialized = True
. Veo que todos los ejemplos se utiliza la siguiente __init__
:
class YourThread(threading.Thread):
def __init__(self, *args):
threading.Thread.__init__(self)
# whatev else
Pero por qué?
Creo que ha inferido correctamente –
Hola, sí, tienes razón. Doh! Gracias. –
Eso fue perspicaz. +1. –