Python: Decorators

This documentation is part of the Learning Python guide. You can view the complete guide here: A comprehensive Python guide.

👋 Welcome to the Stackhero documentation!

Stackhero offers a ready-to-use Python cloud solution that provides a host of benefits, including:

  • Deploy your application in seconds with a simple git push.
  • Use your own domain name and benefit from the automatic configuration of HTTPS certificates for enhanced security.
  • Enjoy peace of mind with automatic backups, one-click updates, and straightforward, transparent, and predictable pricing.
  • Get optimal performance and robust security thanks to a private and dedicated VM.

Save time and simplify your life: it only takes 5 minutes to try Stackhero's Python cloud hosting solution!

Decorators allow you to extend or modify the behaviour of functions or classes without changing their source code. They wrap another function and add some functionality before or after the wrapped function is executed.

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # do something before calling the function
    result = func(*args, **kwargs)
    # do something after calling the function
    return result
  return wrapper

@decorator_function
def my_function():
  # do something

Examples:

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"))  # Output: Hello, John!