El lun., 14 dic. 2015 a las 22:24, Kiko (<kikocorre...@gmail.com>) escribió:
> > >> *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 + 2j* > > > > *for 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? > Oficialmente, un descriptor es todo objeto con, al menos, un método "__get__": hasattr(attr, "__get__") > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/