Авторизация
Забыли пароль? Введите ваш е-мейл адрес. Вы получите письмо на почту со ссылкой для восстановления пароля.
После регистрации вы сможете задавать вопросы и писать свои ответы, получая за это бонусы. Все остальные функции на сайте доступны без регистрации.
Вы должны войти или зарегистрироваться, чтобы добавить ответ и получить бонусы.
Декораторы в Python позволяют изменять поведение функций или классов без изменения их исходного кода. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию.
Декораторы обычно используются для добавления дополнительной функциональности к функциям или классам, таких как логирование, проверка аргументов, кэширование результатов и т. д. Они могут быть полезны, когда требуется применить одну и ту же логику к нескольким функциям или классам.
Пример использования декоратора:
«`python
def my_decorator(func):
def wrapper():
print(«Before function»)
func()
print(«After function»)
return wrapper
@my_decorator
def my_function():
print(«Inside function»)
my_function()
«`
В этом примере `my_decorator` — это декоратор, который принимает функцию `func` в качестве аргумента и возвращает новую функцию `wrapper`. Функция `wrapper` содержит логику, которая будет выполняться до и после вызова исходной функции `func`.
Оператор `@my_decorator` перед объявлением функции `my_function` применяет декоратор к этой функции. При вызове `my_function` будет сначала выполнена логика внутри `wrapper`, а затем — внутри `my_function`.
Результат выполнения этого кода будет:
«`
Before function
Inside function
After function
«`
Таким образом, декоратор `my_decorator` добавляет дополнительные действия до и после вызова функции `my_function`.