Декоратор - это
Другие предметы Университет Декораторы в Python декоратор Python функции в Python программирование на Python обработка функций Python структура данных Python Новый
Давайте разберемся, что такое декоратор в Python и как он работает. Декораторы — это мощный инструмент, который позволяет изменять или расширять функциональность функции без изменения ее кода.
Вот пошаговое объяснение, как работают декораторы:
Сначала мы определяем функцию, которую хотим декорировать. Например:
def say_hello(): print("Hello!")
Теперь создадим декоратор. Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Например:
def my_decorator(func): def wrapper(): print("Что-то происходит до вызова функции.") func() print("Что-то происходит после вызова функции.") return wrapper
Теперь мы можем применить декоратор к нашей функции. Это можно сделать двумя способами:
decorated_function = my_decorator(say_hello) decorated_function()
Более удобный способ — использовать синтаксис @ перед определением функции:
@my_decorator def say_hello(): print("Hello!")
Теперь, когда мы вызовем say_hello()
, фактически будет вызвана обернутая версия функции.
Если мы теперь вызовем say_hello()
, мы увидим следующее:
Что-то происходит до вызова функции. Hello! Что-то происходит после вызова функции.
Таким образом, декораторы позволяют добавлять дополнительную функциональность к существующим функциям, не изменяя их код. Это особенно полезно для логирования, проверки прав доступа, кэширования и других аспектов, которые могут быть общими для нескольких функций.