[pyar] Saber si algo es un método

Daniel Moisset dmoisset en machinalis.com
Mie Jun 9 11:57:42 ART 2010


2010/6/9 Juanjo Conti <jjconti en gmail.com>:
> Lista, estaba revisando un programa mío y en una parte quería saber si
> cierto atributo de un objeto era un método o no. Lo hice con
>
>
> Yo esperaba que de False. Pero...
>
>>>> type(A.g)
> <type 'instancemethod'>
>>>> type(f)
> <type 'function'>
>
> Por lo visto cuando se asigna una función a un atributo, se la glorifica en
> método.

No es exactamente eso. f es una funcion, que ademas es un descriptor
(tiene un atributo __get__). con lo cual, al hacer A.g estas
obteniendo el resultado de f.__get__(None, A). que es el
instancemethod que ves ahi

Saludos,
   D.



More information about the pyar mailing list