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 nube de Python lista para usar que proporciona una serie de beneficios, incluyendo:

  • Despliegue su aplicación en segundos con un simple git push.
  • Use su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
  • Disfrute de la tranquilidad con copias de seguridad automáticas, actualizaciones con un clic, y precios sencillos, transparentes y predecibles.
  • Obtenga un rendimiento óptimo y una seguridad robusta gracias a una VM privada y dedicada.

Ahorre tiempo y simplifique su vida: solo toma 5 minutos probar la solución de alojamiento en la nube de Python de Stackhero.

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!