[pyar] Maybe Metaprogramming?

Juanjo Conti jjconti en gmail.com
Jue Sep 17 13:05:43 ART 2015


Esta con decoradores de clase está buena
http://stackoverflow.com/questions/4139508/in-python-can-one-implement-mixin-behavior-without-using-inheritance

El 17 de septiembre de 2015, 12:35, Emiliano <reynares.emiliano en gmail.com>
escribió:

> Lo he visto, solo que seguiria sin poder impedir que sea instanciada la
> clase de la cual obtengo los métodos a bindear. O estoy equivocado?
>
> Emiliano
> ------------------------------
> De: Daniel Moisset <dmoisset en machinalis.com>
> Enviado el: ‎17/‎09/‎2015 12:25 p.m.
> Para: Python Argentina <pyar en python.org.ar>
> Asunto: Re: [pyar] Maybe Metaprogramming?
>
> Algo como
> http://stackoverflow.com/questions/8544983/dynamically-mixin-a-base-class-to-an-instance-in-python
> te sirve?
>
> 2015-09-17 12:15 GMT-03:00 Emiliano Reynares <reynares.emiliano en gmail.com>
> :
>
>> Gente,
>>
>> Tengo una consulta un poco extraña que hacerles pero espero me puedan
>> orientar. Lo que necesito es definir una estructura que me permita agrupar
>> e implementar un conjunto de métodos, los cuales serán "bindeados" a un
>> individuo que pertenece a una clase distinta, en tiempo de ejecución.
>> Por el momento lo que se me ha ocurrido es agrupar los métodos a ser
>> "bindeados" en una clase. Luego defino un método que permite bindearlos a
>> un instancia de una clase diferente. Algo así:
>>
>> class A:
>>     def bind_methods(self, cls):
>>         pass
>>
>> class B:
>>     def b1(self):
>>         pass
>>
>>     def b2(self):
>>         pass
>>
>> Luego, puedo hacer:
>>
>> foo = A()
>> foo.bind_methods(B)
>>
>> La implementación la omito para no hacer más largo el mail, pero tengo
>> eso funcionando. Sin embargo, dudo bastante que sea la manera más elegante
>> de implementar lo que estoy necesitando.
>> Primero, necesitaría que la clase en la cual agrupo los métodos a
>> "bindear" (clase B del ejemplo) no pueda ser instanciada. Aún cuando
>> pudiera lograr eso, el argumento "self" de los métodos definidos en ese
>> contexto es muy confuso (aunque luego funciona perfectamente al ser
>> "bindeado" a la instancia).
>> Alguna sugerencia/recurso que pueda consultar para conseguir una
>> implementación más elegante?
>> Espero haber sido claro,
>>
>> Saludos!
>>
>>
>> --
>> Emiliano Reynares
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Daniel F. Moisset - Technical Leader
> www.machinalis.com
> Skype: @dmoisset
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Juanjo Conti
Estoy trabajando en una nueva versión de mi blog en
http://www.juanjoconti.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150917/cb5d0915/attachment-0001.html>


More information about the pyar mailing list