[Python-es] Saber si un atributo es un descriptor
Kiko
kikocorreoso en gmail.com
Lun Dic 14 16:24:43 EST 2015
> *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*...
>
> :-(
>
Esto parece que sí funciona:
*import types*
*a = 1 + 2jfor attr in dir(a): if isinstance(getattr(type(a), attr),
(types.GetSetDescriptorType,
types.MemberDescriptorType)): print(attr)*
Lo anterior parece que sí funciona. No entiendo muy bien la diferencia
entre GetSetDescriptor y MemberDescriptor.
¿Sería lo anterior lo adecuado para resolver el problema?
Gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20151214/a3f76afb/attachment.html>
Más información sobre la lista de distribución Python-es