Junior — Middle
84
Чем отличаются параметрические декораторы от непараметрических в программировании?
Ответ от нейросети
sobes.tech AI
Параметрические декораторы — это функции-декораторы, которые принимают аргументы при объявлении, то есть вызываются с параметрами и возвращают сам декоратор. Непараметрические декораторы — это просто функции, которые принимают функцию и возвращают новую функцию без дополнительных параметров.
Пример непараметрического декоратора:
def simple_decorator(func):
def wrapper():
print("До вызова функции")
func()
print("После вызова функции")
return wrapper
@simple_decorator
def say_hello():
print("Hello")
say_hello()
Пример параметрического декоратора:
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(times=3)
def say_hello():
print("Hello")
say_hello()
Таким образом, параметрические декораторы позволяют передавать настройки в декоратор, а непараметрические — нет.