Что такое фабрика декораторов
Python
Middle
Без компании
Что такое фабрика декораторов
Ответы
Фабрика декораторов – это функция, которая создает и возвращает декоратор. Она позволяет параметризовать декораторы, передавая им аргументы для настройки поведения.
Пример:
```
def repeat(n): # фабрика декораторов
def decorator(func): # сам декоратор
def wrapper(*args, **kwargs):
for _ in range(n):
result = func(*args, **kwargs)
return result
return wrapper
return decorator
@repeat(3) # применяем декоратор с параметром
def greet(name):
print(f"Hello, {name}!")
greet("Alice") # напечатает "Hello, Alice!" 3 раза
```
Ключевые моменты:
- Фабрика принимает параметры (`n`) и возвращает декоратор
- Декоратор (`decorator`) принимает функцию и возвращает обертку
- Обертка (`wrapper`) содержит логику декорирования
Этот подход делает декораторы более гибкими и переиспользуемыми.