Vamos a ver qué son y para qué sirven las funciones decoradoras.
Las funciones decoradoras son funciones que añaden funcionalidades a otras funciones. Por decirlo de algún modo, "decoran" a otras funciones.
Sirven para agregar una funcionalidad concreta a muchas otras funciones distintas sin tener que repetir el código en todas las funciones.
Vamos a ver un par de ejemplos en código, en el que añadimos dos "print" a dos funciones mediante un decorador:
# Creamos una función decoradora, a la que le pasamos por parámetro otra función:
def funcionDecoradora(funcionParametro):
# Creamos una función interior, desde la que llamamos a la función que recibimos por parámetro y a la que añadimos las líneas de código adicionales:
def funcionInterior():
print("Vamos a realizar un cálculo:")
funcionParametro()
print("Cálculo realizado.")
return funcionInterior
# Anotamos las funciones estándar con el nombre de la función decoradora:
@funcionDecoradora
def suma():
print(20 + 15)
@funcionDecoradora
def resta():
print(20 - 15)
# Ejecutamos las funciones estándar y comprobamos que se ejecutan los print adicionales de la función decoradora:
suma()
resta()
# El mismo ejemplo anterior, pero esta vez con parámetros en las funciones:
def funcionDecoradora(funcionParametro):
def funcionInterior(*args):
print("Vamos a realizar un cálculo:")
funcionParametro(*args)
print("Cálculo realizado.")
return funcionInterior
@funcionDecoradora
def suma(num1, num2, num3):
print(num1 + num2 + num3)
@funcionDecoradora
def resta(num1, num2):
print(num1 - num2)
suma(7, 5, 4)
resta(12, 1)
Y eso es todo.
No hay comentarios:
Publicar un comentario