preloader

January 1, 1 | 2 minutes read
Index of content

Observe cómo ahora podemos escribir persona.edad y persona.edad = 21; en ambos en estos casos estamos accediendo a la propiedad edad que da como resultado el método get_age() y set_age() siendo ejecutados respectivamente. Por lo tanto, el colocador sigue protegiendo al actualice el atributo _age subyacente que realmente se usa para contener el valor real. También tenga en cuenta que si no se proporciona un método para uno de los métodos fget, fset, fdel métodos entonces esto no es un error; simplemente indica que la propiedad no admite ese tipo de accesorio. Por lo tanto, la propiedad de nombre es una propiedad de solo lectura, ya que no define un método setter. Se puede usar un método de eliminación para liberar la memoria asociada con un atributo; en el caso de un int no es necesario pero puede ser necesario para un más complejo, tipo definido por el usuario. Por lo tanto, podríamos escribir: Tenga en cuenta que estamos usando una referencia de palabra clave para el método de eliminación, ya que tenemos omitió el colocador y, por lo tanto, no puede confiar en argumentos posicionales. 23.5 Definiciones de propiedades más concisas El ejemplo que se muestra en la sección anterior funciona, pero sigue siendo bastante detallado; Si bien esto está del lado de los escritores de clase, todavía parece algo pesado. Para superar esto, una opción más concisa está disponible desde Python 2.4. Este enfoque utiliza lo que se conoce como decoradores. Los decoradores representan metadatos (esa es información sobre su código que el intérprete de Python puede usar para resolver lo que quieres que haga con ciertas cosas). Python 2.4 introdujo tres nuevos decoradores @property, @.setter y @.deleter. Estos decoradores son agregado al comienzo de la definición de un método para indicar que el método debe usarse para proporcionar acceso a una propiedad (y definir esa propiedad), defina un setter para el propiedad o un borrador para la propiedad. Ahora actualizaremos nuestra clase Person para usar los decoradores: def del_name(self): del self._nombre nombre = propiedad(obtener_nombre, fdel=del_nombre, doc=“Un nombre propiedad”) 258 23 Propiedades de Python

comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Read More

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Read More

• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.

Read More