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

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

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


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

@my_decorator
def my_function():
    print("Основной код функции")

В данном примере мы создаем декоратор my_decorator, который выводит сообщения до и после выполнения функции my_function. При применении декоратора с помощью синтаксиса @my_decorator, вызов функции my_function будет автоматически заменен на вызов функции my_decorator(my_function), изменяя ее поведение.

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

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

Автор урока

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

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

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

  1. Замена атрибута в именованном кортеже
  2. Обработка ошибок в Python
  3. kwargs в Python
  4. Генераторы списков в Python
  5. Использование обратной косой черты в f-строках
  6. Нахождение максимального значения и его индекса в списке
  7. Резервирование символов в Python
  8. Установка и использование Python-dateutil
  9. Область видимости переменных в Python
  10. Работа с контекстными переменными
  11. Магические методы в Python
  12. Многострочные строки в Python
  13. Эффективная конкатенация строк в Python
  14. Конвертация коллекций в Python.
  15. Удаление пробелов методом translate()
  16. Обработка данных в Python
  17. Python defaultdict добавление ключа
  18. Работа с множествами в Python
  19. Создание именованных кортежей в Python
  20. Использование метода lower()
  21. Проверка ввода с помощью isdigit
  22. Скачать видео с YouTube
  23. Основные операции с библиотекой Numpy
  24. Библиотека sh: удобные команды терминала
  25. Управление ресурсами в Python
  26. Работа со строками в Python
  27. Работа с библиотекой requests
  28. Измерение времени выполнения кода
  29. JSON в Python: модуль, dump, dumps, load
  30. Основы работы с os
  31. Возврат нескольких значений
  32. Обход элементов в Python
  33. Python и Монти Пайтон
  34. Переворот последовательности
  35. Метод ne для сравнения объектов
  36. Метод __iand__ для пользовательских классов
  37. Наиболее частотные элементы с помощью Counter
  38. Копирование объектов в Python
  39. Получение срезов итераторов
  40. Обучение модели с указанием эпох
  41. Получение атрибутов и методов класса
  42. Повторение элементов в Python
  43. Работа с необработанными строками
  44. Вычисление натурального логарифма в NumPy
  45. Работа с областями видимости переменных
  46. Конкатенация строк с методом join()
  47. Объединение списков в строку

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