Y el resultado sería:Por ejemplo, para conocer los descriptores del built-in type int usaría lo siguiente:Hola.Necesito identificar si un atributo de una clase es un descriptor.import typesa = 1
for attr in dir(a):
if isinstance(getattr(type(a), attr), types.GetSetDescriptorType):
print(attr)
denominator
imag
numerator
real
¿Es esto correcto?Que creo son los únicos descriptores de int.
¿Un descriptor puede ser otra cosa que no sea types.GetSetDescryptorType?
Gracias.
Saludos.
Y el resultado sería:import typesa = 1
for attr in dir(a):
if isinstance(getattr(type(a), attr), types.GetSetDescriptorType):
print(attr)
denominator
imag
numerator
realVaya, 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...
:-(
_______________________________________________Gracias.
Python-es mailing list
Pyth...@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Pyth...@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
Como diría ese gran estadista, "It is very difficult, todo esto".
Creo que lo anterior resume, creo, lo que quiero:¿Puedo comprobar si un descriptor funciona como un atributo de clase o como una property con el siguiente código?Cuando me refiero a descriptores en mi contexto de ignorancia supina estoy refiriéndome a cosas como int.numerator, complex.real,...import typesa = 1 + 2j
for attr in dir(a):
if isinstance(getattr(type(a), attr),(types.GetSetDescriptorType, types.MemberDescriptorType)):
print(attr)Es decir, ¿un descriptor que funciona como una property, atributo,..., solo puede ser instancia de types.GetSetDescriptorType o types.MemberDescriptorType?
El mar., 15 dic. 2015 a las 10:40, Kiko (<kikoco...@gmail.com>) escribió:Como diría ese gran estadista, "It is very difficult, todo esto".Más que complicado, los descriptores es lo que da a python toda su "magia".
El mar., 15 dic. 2015 a las 11:30, Chema Cortes (<pyc...@gmail.com>) escribió:El mar., 15 dic. 2015 a las 10:40, Kiko (<kikoco...@gmail.com>) escribió:Como diría ese gran estadista, "It is very difficult, todo esto".Más que complicado, los descriptores es lo que da a python toda su "magia".En mi viejo blog tengo una serie de artículos explicando el funcionamiento de los descriptores. Voy a migrarlo ya, pero aún se puede encontrar en su vieja ubicación:
http://ch3m4.org/blog/tag/descriptor/
--