[Python-es] Clase de Clases

Alvaro Manrique sanreikaj.foros en gmail.com
Lun Ene 21 20:35:29 CET 2013


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 <http://twitter.com/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 <http://twitter.com/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<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<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/2f50afad/attachment.html>


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