Курс 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. Обработка StopIteration в Python
  2. Проверка дублей в списке.
  3. Progress с библиотекой tqdm
  4. Показ всплывающих окон Tkinter
  5. Разрешение имен в Python
  6. Создание уникального множества
  7. Выборка чисел
  8. Методы работы со строками в Python
  9. Нан-рефлексивность в Python
  10. Метод remove() для удаления элемента из списка
  11. Измерение времени выполнения кода
  12. Работа с геоданными с помощью geopy
  13. Метод pos в Python
  14. Множественное присваивание в Python
  15. Нарезка списков в Python
  16. Реверс строки и списка в Python.
  17. Присвоение и ссылки
  18. Метод __int__ в Python
  19. Отладка кода
  20. Игра «Угадывание чисел»
  21. Транспонирование 2D-массива с помощью zip
  22. Работа с итераторами через срезы
  23. Измерение времени выполнения кода
  24. Определение основы слова с showballstemmer
  25. Метод join() для объединения элементов строки
  26. Генерация случайных чисел Python
  27. Переворот строки
  28. Оператор += для объединения строк
  29. Установка пакета в Python
  30. Решение переменной Шредингера
  31. F-строки в Python
  32. Метод __irshift__ для побитового сдвига вправо
  33. Использование обратной косой черты в f-строках
  34. Работа с путями в Python
  35. Управление памятью в numpy.
  36. Преобразование регистра строк
  37. Python Ellipsis использование
  38. Docstring в Python
  39. Фильтрация элементов с помощью islice
  40. Работа с файлами в Python
  41. Сложные типы данных в Python
  42. Философия Python
  43. Копирование файлов с shutil()
  44. Работа с модулем bisect

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