Foros del Web » Programando para Internet » Python »

que son los python descriptors

Estas en el tema de que son los python descriptors en el foro de Python en Foros del Web. he estado leyendo sobre esto pero me gustaria saber que es un descriptor en python...
  #1 (permalink)  
Antiguo 31/05/2014, 19:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 2 meses
Puntos: 18
que son los python descriptors

he estado leyendo sobre esto pero me gustaria saber que es un descriptor en python
  #2 (permalink)  
Antiguo 01/06/2014, 05:56
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 16 años, 11 meses
Puntos: 292
Respuesta: que son los python descriptors

Los descriptores son como las "propiedades" en C# de .NET, agrupan los getters y setters que acceden a los atributos de una clase.

__set__() y __get__() son muy parecidos a los metodos magicos de PHP: __set() y __ge() ... se llaman cuando se intenta hacer un acceso a un atributo.


Ejemplo sacado del manual:

Cita:
class RevealAccess(object):
"""A data descriptor that sets and returns values
normally and prints a message logging their access.
"""

def __init__(self, initval=None, name='var'):
self.val = initval
self.name = name

def __get__(self, obj, objtype):
print('Retrieving', self.name)
return self.val

def __set__(self, obj, val):
print('Updating', self.name)
self.val = val

>>> class MyClass(object):
x = RevealAccess(10, 'var "x"')
y = 5

>>> m = MyClass()
>>> m.x
Retrieving var "x"
10
>>> m.x = 20
Updating var "x"
>>> m.x
Retrieving var "x"
20
>>> m.y
5
__delete__() tambien forma parte de una propiedad pero no encontre nada de informacion ***


https://docs.python.org/3.5/referenc...ect.__delete__
__________________
Salu2!

Última edición por Italico76; 01/06/2014 a las 06:19
  #3 (permalink)  
Antiguo 02/06/2014, 08:56
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: que son los python descriptors

No sé donde estés leyendo, pero aquí esta muy bien explicado: https://docs.python.org/2/howto/descriptor.html

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: son
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:19.