Python: Decoradores

Esta documentación forma parte de la guía Aprendiendo Python. Consulte la guía completa aquí: Una guía completa de Python.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Python en la nube lista para usar, diseñada para agilizar su proceso de despliegue:

  • Despliegue su aplicación en producción en segundos con un simple git push.
  • Utilice su propio nombre de dominio, con configuración automática del certificado HTTPS para conexiones seguras gestionadas por nosotros.
  • Cuente con copias de seguridad automáticas, actualizaciones con un solo clic y precios predecibles, para que pueda centrarse en su código y no en la gestión de la infraestructura.
  • Disfrute de un alto nivel de rendimiento y seguridad en una infraestructura privada y dedicada. Su entorno está aislado y protegido.

Ahorre tiempo y simplifique su flujo de trabajo: puede tener su código funcionando con el hosting Python en la nube de Stackhero en solo 5 minutos.

Los decoradores le permiten extender o modificar el comportamiento de funciones o clases sin cambiar su código fuente. Envueltan otra función y añaden alguna funcionalidad antes o después de que se ejecute la función envuelta.

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # hacer algo antes de llamar a la función
    result = func(*args, **kwargs)
    # hacer algo después de llamar a la función
    return result
  return wrapper

@decorator_function
def my_function():
  # hacer algo

Ejemplos:

def greet_decorator(func):
  def wrapper(name):
    return "Hello, " + func(name) + "!"
  return wrapper

@greet_decorator
def get_name(name):
  return name

print(get_name("John"))  # Salida: Hello, John!