Курс 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. Пропуск строк в файле с itertools
  3. Big O оптимизация
  4. Метод rsub для пользовательских чисел
  5. Генератор списка в Python
  6. Извлечение данных из JSON
  7. Принципы программирования
  8. Работа с Enum в Python3.
  9. Автоматизация скриптов на AWS Lightsail.
  10. Работа с модулем random
  11. Работа с комплексными числами
  12. Многострочные комментарии в Python
  13. Генераторы в Python
  14. Запуск файлового сервера
  15. Итерация по итерируемым объектам
  16. Область видимости переменных
  17. Фильтрация последовательности
  18. Поиск индексов в списке
  19. Управление асинхронными задачами на Python.
  20. Создание генераторов
  21. Операторы увеличения и уменьшения переменной
  22. Оператор in для Python
  23. Порядок операций в Python
  24. Метод округления чисел
  25. Проблема с изменяемыми аргументами
  26. Проверка класса объекта
  27. Печать календаря в Python
  28. Работа с deque из collections
  29. Преобразование списков в словарь
  30. Выражения-генераторы в Python
  31. Анонимные функции Lambda
  32. Namedtuple в Python
  33. Библиотека schedule: планировщик задач
  34. Обработка ошибок в Python
  35. Установка и загрузка Instaloader
  36. Условные выражения в Python
  37. Декораторы с аргументами в Python
  38. Декораторы в Python
  39. Многоточие в Python
  40. Функция product() в Python
  41. Методы shutil для работы с файлами
  42. Деление в Python
  43. Генерация фальшивых данных с Faker
  44. Расширение информации об ошибке в Python
  45. Избегайте изменяемых аргументов

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