Sobes.tech
Back to questions
Junior — Middle
68

Можете объяснить, как реализовать декоратор, который не использует параметры?

Answer from AI

sobes.tech AI

Декоратор без параметров — это функция, которая принимает другую функцию и возвращает новую функцию с дополнительным поведением. Пример простого декоратора, который выводит сообщение перед вызовом функции:

def simple_decorator(func):
    def wrapper(*args, **kwargs):
        print("Вызов функции...")
        return func(*args, **kwargs)
    return wrapper

@simple_decorator
def say_hello(name):
    print(f"Привет, {name}!")

say_hello("Мир")

Здесь simple_decorator не принимает никаких параметров, кроме функции, которую декорирует. Внутри создаётся вложенная функция wrapper, которая добавляет нужное поведение и вызывает исходную функцию.