Python Función property()
Funciones integradas de Python
Descripción
property()La función devuelve el valor de un atributo en las clases de nuevo estilo.
Sintaxis
La sintaxis del método property() es la siguiente:
class property([fget[, fset[, fdel[, doc]]]])
Parámetros
- fget -- función que obtiene el valor del atributo
- fset -- función que establece el valor del atributo
- fdel -- función que elimina el valor del atributo
- doc -- información descriptiva del atributo
Valor de retorno
Devuelve el atributo de la clase de nuevo estilo.
Ejemplo
Definir un valor de atributo controlable x
SicSíCes una instanciación, c.x activará el getter, c.x = value activará el setter, y del c.x activará el deleter.
Si se proporciona el parámetro doc, se convertirá en el docstring del valor de la propiedad; de lo contrario, la función property copiará el docstring de la función fget (si lo hay).
Usar la función property como decorador es una forma muy conveniente de crear atributos de solo lectura:
El código anterior convierte el método voltage() en el método getter de un atributo de solo lectura con el mismo nombre.
Los métodos getter, setter y deleter de property también se pueden usar como decoradores:
Este código es exactamente igual que el primer ejemplo, pero hay que tener en cuenta que los nombres de estas funciones adicionales son los mismos que los de la propiedad, como x aquí.
Otras extensiones