Python: Decorators

This documentation is part of the Learning Python guide. View the full guide here: A comprehensive Python guide.

👋 Welcome to the Stackhero documentation!

Stackhero provides a ready-to-use Python cloud solution designed to streamline your deployment process:

  • Deploy your application to production in seconds with a simple git push.
  • Use your own domain name, with automatic HTTPS certificate configuration for secure connections handled for you.
  • Rely on automatic backups, one-click updates, and predictable pricing, so you can focus on your code, not infrastructure management.
  • Benefit from strong performance and security on a private, dedicated infrastructure. Your environment is isolated and protected.

Save time and simplify your workflow: you can have your code running with Stackhero's Python cloud hosting in just 5 minutes.

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!