Курс 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. Путь к интерпретатору Python
  2. Добавление вложенных списков
  3. Параллельные вычисления в Python
  4. Создание таблиц в терминале с PrettyTable
  5. Вызов функций по строке в Python.
  6. Декораторы в Python
  7. Отладка утечек памяти в Python
  8. Отображение графиков в Jupyter с Matplotlib
  9. Получение текущей даты в Python
  10. Работа с очередями в Python
  11. Инверсия списка и строки
  12. Вложенные функции в Python
  13. Работа с коллекциями Python
  14. Генераторы в Python
  15. Отправка HTTP-запросов с User-Agent
  16. Создание объекта времени
  17. Метод __imod__ для Python
  18. Модуль pprint
  19. Метод rmatmul для обратного матричного умножения
  20. Обратный список чисел
  21. Разделение функций на этапы
  22. Установка и загрузка Instaloader
  23. Функция print() — вывод информации
  24. Фильтрация списка чисел
  25. Декораторы в Python
  26. Обработка ошибок в Python
  27. Функции высшего порядка в Python
  28. Python Enum Weekday Usage
  29. Аргумент по умолчанию
  30. Python: цикл for и оператор присваивания
  31. Извлечение аудио из видео
  32. Библиотека sh: использование команд bash в Python
  33. Работа с множествами в Python
  34. Howdoi — получение ответов из терминала
  35. Декораторы с @wraps
  36. Принцип одной функции
  37. Python: библиотеки и функции
  38. Добавление Progressbar в Python
  39. Python 3.12: переиспользование кавычек
  40. Декораторы в Python
  41. Использование функции enumerate()
  42. Список переменных в Python
  43. Оптимизация строк в Python
  44. Работа со строками
  45. Приближение чисел в Python
  46. Удаление элементов во время итерации
  47. Генератор надежных паролей
  48. Генератор бросков кубиков
  49. Работа с deque в Python

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