Курс 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. Просмотр файла в Jupyter Noteboo
  3. Работа с байтовыми строками в Python
  4. Получение идентификатора объекта в памяти
  5. Объединение словарей в Python
  6. Модуль inspect
  7. Методы shutil для работы с файлами
  8. Разность множеств
  9. Определение объема памяти объекта
  10. Преобразование объекта в строку
  11. Использование super() в Python
  12. Работа с deque из collections
  13. Подписка на каналы разработчиков
  14. Копирование списков в Python
  15. Таймер обратного отсчета
  16. Итерация по итерируемым объектам
  17. Многопоточность и асинхронное программирование в Python
  18. Множественное назначение в Python
  19. Функция с **kwargs в Python
  20. Разработка игры Pong с turtle
  21. Многопроцессорное программирование в Python
  22. Работа с переменными в Python
  23. Удаление символа из строки
  24. Резервирование символов в Python
  25. Циклы for в Python
  26. Список переменных в Python
  27. Отступы в Python
  28. Работа со случайными элементами
  29. Конвертация текстовых чисел с помощью Numerizer
  30. Разбиение строки в Python
  31. Создание итератора
  32. Использование html-скриптов в Jupyter Notebook
  33. Работа с модулем cmath
  34. Пропуск строк в файле с itertools
  35. Скрытие вывода данных
  36. Создание списков в Python
  37. Объединение словарей в Python
  38. Функция reduce() из модуля functools
  39. Проверка класса объекта
  40. Проверка типа данных
  41. Переменные в Python
  42. Установка и использование Telegram API в Python
  43. Измерение времени выполнения кода с помощью time
  44. Деление в Python
  45. Получение атрибутов и методов класса
  46. Генераторы списков в Python

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