Курс Python → Декораторы в Python

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

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


def my_decorator(func):
    def wrapper():
        print("Дополнительный код перед вызовом функции")
        func()
        print("Дополнительный код после вызова функции")
    return wrapper

@my_decorator
def say_hello():
    print("Привет, мир!")

В приведенном выше примере функция say_hello() декорируется функцией my_decorator(). При вызове функции say_hello() будет сначала выполнен дополнительный код из декоратора, затем сама функция say_hello() и, наконец, еще один блок кода из декоратора. Таким образом, мы можем легко изменять и расширять функциональность наших функций.

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

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. OrderedDict — упорядоченный словарь
  2. Поиск индексов в списке
  3. Генератор надежных паролей
  4. Транспонирование матрицы
  5. Векторизация в Python с NumPy.
  6. Операторы += в Python
  7. Создание объекта времени
  8. Изменение объектов в Python
  9. Определение объема памяти объекта
  10. Пространство имен в Python
  11. Проверка условий в Python
  12. Удаление ресурса в Python
  13. Методы и функции в Python
  14. Запуск асинхронной корутины
  15. Создание словарей в Python
  16. Модуль xkcd: загрузка комиксов
  17. Аргумент по умолчанию
  18. Распаковка аргументов в Python
  19. Обучение модели с указанием эпох
  20. Counter() — подсчет элементов
  21. Различия символов в Python
  22. Работа с итераторами через срезы
  23. Основы работы с базами данных в Python
  24. Построение графиков в терминале с bashplotlib
  25. Измерение времени выполнения кода с помощью time
  26. Округление банкира в Python
  27. Динамическая типизация в Python
  28. Блок try-except-else
  29. Лимиты на ресурсы Python
  30. Область видимости переменных
  31. Измерение времени выполнения кода
  32. Работа с массивами в Numpy
  33. Подписка на каналы разработчиков
  34. Оценка выражений генератора в Python
  35. Изменение элемента списка
  36. Хэш-функции и метод цепочек
  37. TypedDict для kwargs в Python 3.12
  38. Сложные типы данных в Python
  39. Использование обратной косой черты в f-строках
  40. Определение локальных переменных в Python
  41. Преобразование PowerPoint в PDF.
  42. Retrying в Python: повторные вызовы
  43. Работа с YAML в Python

Marketello читают маркетологи из крутых компаний