[Python-es] Saber si un atributo es un descriptor

Kiko kikocorreoso en gmail.com
Lun Dic 14 16:17:58 EST 2015


El 14 de diciembre de 2015, 22:10, Kiko <kikocorreoso en gmail.com> escribió:

> Hola.
>
> Necesito identificar si un atributo de una clase es un descriptor.
>
> Por ejemplo, para conocer los descriptores del built-in type *int* usaría
> lo siguiente:
>
> *import types*
>
>
>
>
>
> *a = 1for attr in dir(a):    if isinstance(getattr(type(a), attr),
> types.GetSetDescriptorType):        print(attr)*
> Y el resultado sería:
>
>
>
>
>
>
> *denominatorimagnumeratorreal*
>

Vaya, acabo de cambiar *a* para que sea *complex* en lugar de *int* y mi
código de encima no me devuelve *img* y *real*, que son descriptores de
*complex*...

:-(


> Que creo son los únicos descriptores de
>
> *int.*
> ¿Es esto correcto?
>

Pues parece que no.


> ¿Un descriptor puede ser otra cosa que no sea *types.GetSetDescryptorType*
> ?
>
>
¿Alguna ayuda para poder detectar descriptores?


>
>
> *Gracias.*
>

De nuevo.


>
> *Saludos.*
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20151214/feb5daf8/attachment.html>


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