[pyar] Maybe Metaprogramming?

Gustavo Ibarra ibarrags en gmail.com
Jue Sep 17 13:07:45 ART 2015


2015-09-17 12:35 GMT-03:00 Emiliano <reynares.emiliano en gmail.com>:
> 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?

¿sirve para tu modelo definirla como "clase abstracta" ?

> Emiliano
> ________________________________
> De: Daniel Moisset
> Enviado el: ‎17/‎09/‎2015 12:25 p.m.
> Para: Python Argentina
> 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


More information about the pyar mailing list