Sobes.tech
Middle+

Tell about decorators in Python.

sobes.tech AI

Answer from AI

Decorators in Python are functions that take another function and return a new function with extended behavior, without modifying the original code of the decorated function.

They are often used for:

  • Logging function calls
  • Access control checks
  • Caching results
  • Measuring execution time

Example of a simple decorator:

def decorator(func):
    def wrapper(*args, **kwargs):
        print(f"Calling function {func.__name__}")
        result = func(*args, **kwargs)
        print(f"Function {func.__name__} finished")
        return result
    return wrapper

@decorator
def say_hello(name):
    print(f"Hello, {name}!")

say_hello("World")

Here, @decorator is syntactic sugar for say_hello = decorator(say_hello).

Decorators can be parameterized, accept arguments, and be applied to class methods. They help write cleaner and more reusable code, separating additional logic from the main function.

Tell about decorators in Python. — Python - sobes.tech