[Python-es] Clase de Clases

Alvaro Manrique sanreikaj.foros en gmail.com
Lun Ene 21 23:25:54 CET 2013


--------------------------------------------------------------
*Alvaro Manrique*
*Programador*
*Venezuela*
*Skype: alvaromanrique84*
*Twitter: @AJ_Manrique <http://twitter.com/AJ_Manrique>*
---------------------------------------------------------------


El 21 de enero de 2013 15:08, Juan BC <jbc.develop en gmail.com> escribió:

> esos "setDato" me duelen bastante mi orgullo pythonico. Podrías
> reemplazarlos por algo mas python-like como properties
>


jejeje si tienes razón, también los implemento como properties, solo que el
ejemplo lo escribí así sin pararme mucho en la forma solo para ilustrar mi
problema


> De todas maneras, en mi opinión, todos estamos opinando de un problema
> que no sabemos bien de que trata. Creo que deberías explicarnos con
> mas detalle cual es tu dominio y por que tu solución fue implementar
> un ORM desde cero y no utilizar un librería existente.
>
>
Mira de manera resumida te puedo decir que cuando empece a trabajar con
Django o mejor dicho a aprenderlo estuve viendo como trabajar con su ORM y
como ensamblaba los querys y la verdad es que no me gusto para nada y ya
que contaba con tiempo para ese momento emprendí la gran tarea de hacerme
mi ORM y bueno como todo se tienen sus pro y sus contras, pero el que mas
me mueve de hacer algo como esto es el gran conocimiento adquirido en el
proceso.



> El día 21 de enero de 2013 16:35, Alvaro Manrique
> <sanreikaj.foros en gmail.com> escribió:
> > Tengo que rendirme con las metaclases :( (por ahorita!!! jejeje)
> >
> > Siguiendo tu ejemplo voy a solucionar de esta manera...
> >
> > http://pastebin.com/17izeDuZ
> >
> > Modifiqué el ejemplo con los nombres mas reales para que se aprecie
> mejor la
> > aplicación y así quizá le sirva a otra persona como base para un
> desarrollo
> > mas amplio.
> >
> > Ahora a mi me queda la pequeña tarea de aplicar la solución al desarrollo
> > real :-s jeje
> >
> > Muchas gracias por la ayuda, como siempre es invaluable.
> >
> >
> > --------------------------------------------------------------
> > Alvaro Manrique
> > Programador
> > Venezuela
> > Skype: alvaromanrique84
> > Twitter: @AJ_Manrique
> > ---------------------------------------------------------------
> >
> >
> > El 21 de enero de 2013 14:00, Alvaro Manrique <sanreikaj.foros en gmail.com
> >
> > escribió:
> >
> >> ok voy a probar implementar lo que me indicas en la metaclase, vamos a
> ver
> >> que tal...
> >>
> >>
> >> --------------------------------------------------------------
> >> Alvaro Manrique
> >> Programador
> >> Venezuela
> >> Skype: alvaromanrique84
> >> Twitter: @AJ_Manrique
> >> ---------------------------------------------------------------
> >>
> >>
> >> El 21 de enero de 2013 13:05, Oswaldo <listas en soft-com.es> escribió:
> >>
> >>> El 21/01/2013 17:05, Alvaro Manrique escribió:
> >>>
> >>>> Estoy probando esto...
> >>>>
> >>>> http://pastebin.com/asbyumjW
> >>>>
> >>>> Sin embargo tengo el mismo resultado, pero que me dicen... Voy por
> buen
> >>>> camino??
> >>>>
> >>>>
> >>>
> >>> Como ya te han dicho para que cada instancia de la clase hija tenga sus
> >>> instancias independientes de miembro tienes que crearlas en el
> __init__ (No
> >>> se ahora mismo si con metaclases se podría conseguir también).
> >>>
> >>> Y si lo que quieres en simplicidad a la hora de definir las clases
> hijas
> >>> te lo tendrás que montar para hacer una definición que utilice el init
> de la
> >>> base posteriormente. Por ejemplo:
> >>>
> >>>
> >>> >>> class base(object):
> >>> ...     atributos = {}  # diccionario {"nombreatributo": clase,}
> >>> ...     def __init__(self):
> >>> ...         for k in self.atributos:
> >>> ...             setattr(self, k, self.atributos[k]())
> >>> ...
> >>> >>> class hija(base):
> >>> ...     atributos = {
> >>> ...         "Miembro1":     Miembro,
> >>> ...         "Miembro2":     Miembro,
> >>> ...         }
> >>> ...
> >>> >>> h1 = hija()
> >>>
> >>> Inicio de la clase Miembro
> >>> Inicio de la clase Miembro
> >>> >>> h2 = hija()
> >>>
> >>> Inicio de la clase Miembro
> >>> Inicio de la clase Miembro
> >>> >>>
> >>> >>> print id(h1.Miembro1)
> >>> 31243504
> >>> >>> print id(h2.Miembro1)
> >>> 31243664
> >>> >>>
> >>> >>> del h1
> >>>
> >>> Fin de la clase Miembro
> >>> Fin de la clase Miembro
> >>> >>> del h2
> >>>
> >>> Fin de la clase Miembro
> >>> Fin de la clase Miembro
> >>> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> Oswaldo
> >>> _______________________________________________
> >>> Python-es mailing list
> >>> Python-es en python.org
> >>> http://mail.python.org/mailman/listinfo/python-es
> >>> FAQ: http://python-es-faq.wikidot.com/
> >>
> >>
> >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > http://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
>
>
>
> --
> Juan B Cabral
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130121/e949e1eb/attachment.html>


Más información sobre la lista de distribución Python-es