[Python-es] Clase de Clases

Juan BC jbc.develop en gmail.com
Lun Ene 21 20:38:25 CET 2013


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

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.

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


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