Назад к вопросам
Middle
70
questionbank
Как можно передать переменную в декоратор на Python?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Передача переменных в декоратор возможна через функцию-фабрику декораторов.
# Фабрика декораторов принимает аргументы
def decorator_factory(arg1, arg2):
# Возвращает сам декоратор (замыкание)
def my_decorator(func):
# Функция-обертка
def wrapper(*args, **kwargs):
print(f"Аргумент 1: {arg1}, Аргумент 2: {arg2}")
return func(*args, **kwargs)
return wrapper
return my_decorator
# Использование декоратора с аргументами
@decorator_factory("значение 1", 123)
def my_function():
print("Выполняется декорированная функция")
# Вызов функции
my_function()