He creado una clase base:cómo extender Python init clase
class Thing():
def __init__(self, name):
self.name = name
quiero extender la clase y añadir a la método init por lo que el que SubThing
tiene tanto un name
y una propiedad time
. ¿Cómo lo hago?
class SubThing(Thing):
# something here to extend the init and add a "time" property
def __repr__(self):
return '<%s %s>' % (self.name, self.time)
Cualquier ayuda sería increíble.
Además, en lugar de hacer referencia a 'SubThing' en' super', puedes hacer 'super (self .__ class__, self) .__ init __ (* args, ** kwargs)'. Esto también funciona con clases creadas dinámicamente usando 'type()'. – miki725
Obtengo este error con cualquiera de esas soluciones: 'TypeError: debe ser type, not classobj' - el error se desencadena por mi superlínea. – TheChymera
@TheChymera mira lo que escribió Jesse: "Asegúrate de tener tu subclase de clase base desde el objeto, ya que super no funcionará con clases antiguas" – Acsisr