Derivacion de tipos, interceptar operaciones

Eric Sadit Téllez Avila donsadit en gmail.com
Vie Mar 14 19:18:01 CET 2008


Puedes revisar la función sys.settrace tal vez te pueda ayudar



On Fri, Mar 14, 2008 at 11:43 AM, Oswaldo Hernández <listas en soft-com.es>
wrote:

> Hola,
>
> Estoy intentando manipular las operaciones sobre tipos base utilizando
> __getattribute__
>
> class Entero(int):
>     def __getattribute__(self, attr):
>         print "Interceptado:", attr
>         return super(Entero, self).__getattribute__(attr)
>
>
> Si utilizo la llamada explicita al metodo si se intercepta:
>
> >>> e = Entero(300)
> >>> e.__add__(5)
> Interceptado: __add__
> 305
> >>>
>
> Pero si utilizo los operadores, el método no es interceptado:
>
> >>> e + 5
> 305
> >>>
>
> Segun he entendido de la documentación, cuando se utilizan los operadores
> +, -, etc .. se ejecutan
> las funciones correspondientes __add__, __sub__, ..
>
> ¿Habria alguna forma de interceptar estas operaciones cuando se utilizan
> operadores?
>
> --
> *****************************************
> Oswaldo Hernández
> oswaldo (@) soft-com (.) es
> *****************************************
> PD:
> Antes de imprimir este mensaje, asegúrese de que es necesario.
> El medio ambiente está en nuestra mano.
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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