[pyar] Saber si algo es un método
Juanjo Conti
jjconti en gmail.com
Mie Jun 9 11:47:13 ART 2010
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
if inspect.ismethod(attr) or inspect.ismethoddescriptor(attr):
pero me puse a pensar y me surgió una duda, que tal si en un atributo de un
objeto almacenamos una función para utilizar luego o para pasarla como
parámetro a otro objeto y tenemos:
>>> import inspect
>>> class A:
... pass
...
>>> def f():
... pass
...
>>> A.g = f
>>> inspect.ismethod(A.g)
True
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.
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100609/2f3fecb1/attachment.html>
More information about the pyar
mailing list