💾Decorators
1. Conceptos avanzados sobre funciones
En Python las funciones también se consideran objetos y como consecuencia de esto se pueden asignar a una variable, almacenarlas en estructuras de datos (listas, tuplas, diccionarios...) o incluso pasarlas como argumento de otras funciones.
def func():
print("Hola mundo")
func()
Hola mundo
func
<function __main__.func()>
var = func
var()
Hola mundo
def func2(funcion):
funcion()
func2(func)
Hola mundo2. ¿Qué es un decorator?
Los decorator envuelven una función, modificando su comportamiento realizando una combinación de todas las propiedades que hemos visto anteriormente.
Podemos utilizar decorators para modificar el comportamiento de una función que programemos, por ejemplo, añadiendo condiciones que se evalúen antes de ejecutar la función ya existente que no queremos modificar.
3. Syntactic Sugar
La sintaxis que hemos utilizado en el apartado anterior para definir el decorator es bastante compleja, por ello, Python nos proporciona una alternativa mucho más sencilla.
4. Decorators en las Clases
Una de las cosas interesantes sobre los decorators es que Python nos proporciona varios definidos por defecto que podemos utilizar dentro de una clase.
Uno de los decorators más interesantes que podemos utilizar es @property, que nos permite definir métodos en una clase para consultar y modificar un atributo interno.
Última actualización