Sobes.tech
Junior — Middle

Explica el concepto de decoradores en Python y cómo se utilizan para cambiar el comportamiento de las funciones.

sobes.tech AI

Respuesta de la IA

Los decoradores en Python son funciones que toman otra función y devuelven una nueva función con un comportamiento modificado o ampliado, sin cambiar el código fuente de la función decorada.

Se usan comúnmente para:

  • Registrar llamadas
  • Verificar permisos de acceso
  • Cachear resultados
  • Medir tiempos de ejecución

Un ejemplo de un decorador simple que muestra un mensaje antes y después de llamar a la función:

def decorador(func):
    def envoltorio(*args, **kwargs):
        print("Antes de llamar a la función")
        resultado = func(*args, **kwargs)
        print("Después de llamar a la función")
        return resultado
    return envoltorio

@decorador
def decir_hola(nombre):
    print(f"¡Hola, {nombre}!")

decir_hola("Mundo")

La salida será:

Antes de llamar a la función
¡Hola, Mundo!
Después de llamar a la función

De esta manera, los decoradores permiten modificar dinámicamente el comportamiento de las funciones sin cambiar su código fuente.