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 designed to simplify your deployments:

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

Save time and streamline your workflow: your code can be up and 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!