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