Как реализован декоратор ?

Спросят с вероятностью 7%



Декораторы реализованы как функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Это позволяет изменять поведение или добавлять функциональность существующим без изменения их исходного кода. Вот пример простого декоратора:

def my_decorator(func):

def wrapper():

print("Дополнительный код перед вызовом функции")

func()

print("Дополнительный код после вызова функции")

return wrapper



@my_decorator

def say_hello():

print("Привет, мир!")



say_hello()




В этом примере my_decorator является декоратором, который принимает функцию func и возвращает функцию wrapper, которая содержит дополнительный код перед и после вызова функции func. Затем мы используем декоратор @my_decorator, чтобы применить его к функции say_hello.



Это простейший пример декоратора. В более сложных случаях декораторы могут принимать аргументы и использоваться для различных целей, таких как кеширование, логирование, обработка исключений и т. д. Декораторы широко используются и являются мощным механизмом для добавления функциональности к коду без его модификации.



➡️ Примеры ответов

➡️ Список всех вопросов на Python Developer



🧩 Идущий | 🔐 Собесы | 🔐 Тестовые