Almacenar objetos en XML
Chema Cortés
py en ch3m4.org
Lun Abr 26 11:34:00 CEST 2004
El Sábado, 24 de Abril de 2004 15:19, Andres Moya escribió:
> Buf, alguna vez he echado un vistazo a ese tema de las metaclases, pero
> mi cabeza enseguida empezaba a echar humillo... Sí, algún día le echaré
> un par e intentaré meterme con ello, a ver si me entero.
class Chorra(object):
pass
...
modulo = __import__(nombre_modulo)
instancia = Chorra()
instancia.__class__ = modulo.__dict__[nombre_clase]
...
Lo que le puede ocurrir a este código que propones es que no se inicializa
bien la instancia, o sea, no se llama al método __init__ de la clase.
A ver qué te parece esta solución (sin llegar a emplear "metaclass" :-P):
class Chorra(object):
def __new__(cls, nombre_modulo, nombre_clase, *args, **kw):
Cls=__import__(nombre_modulo, globals(), locals(), [nombre_clase])
return Cls(*args,**kw)
instancia = Chorra(nombre_modulo, nombre_clase)
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es