Junior — Middle
What does the functionality of a decorator in programming provide?
sobes.tech AI
Answer from AI
A decorator in programming is a construct that allows modifying or extending the behavior of a function or method without changing their source code. In Python, decorators are implemented as functions that take another function and return a new function with added functionality.
Example of using a decorator for logging function calls:
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Calling function {func.__name__} with arguments {args} and {kwargs}")
result = func(*args, **kwargs)
print(f"Function {func.__name__} returned {result}")
return result
return wrapper
@log_decorator
def add(a, b):
return a + b
add(2, 3)
Thus, a decorator provides a convenient way to add additional behavior to functions or methods, such as logging, access rights checking, caching, etc.