Курс 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_function, она будет автоматически обернута в декоратор my_decorator, и дополнительный код будет выполнен до и после выполнения основной функции.

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

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

Автор урока

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

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

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

  1. Оператор обр. импликации
  2. Оператор del в Python
  3. *args и **kwargs в Python
  4. Работа с URL-адресами в Python
  5. Работа с itertools
  6. Проверка подстроки в строке
  7. Проверка индексов коллекции
  8. Решение переменной Шредингера
  9. Нахождение пересечения множеств
  10. Работа со строками в Python
  11. Преобразование чисел в Python
  12. Оператор walrus в Python
  13. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  14. Разделение списка на гнппы
  15. Абстракции словарей и множеств в Python
  16. Переопределение метода xor в Python
  17. Работа с каталогами в Python
  18. Объединение списков в Python
  19. Расчет времени выполнения
  20. Иерархия классов в Python
  21. Создание тестовых данных с Faker
  22. Работа с геоданными с помощью geopy
  23. Создание словарей с defaultdict()
  24. Создание новых списков через list comprehensions
  25. Блок else в циклах Python
  26. Pillow: работа с изображениями
  27. Списки в Python
  28. Работа с Telegram API на Python
  29. Генерация UUID в Python
  30. Отправка HTTP-запросов с User-Agent
  31. Генерация QR-кодов с Python
  32. Python: изменяемые и неизменяемые коллекции
  33. Объединение словарей в Python
  34. Установка и использование pyshorteners
  35. Проблема с изменяемыми аргументами
  36. Операторы присваивания в Python
  37. Создание панели меню Tkinter
  38. Функции классификации комплексных чисел
  39. Преобразование списка в словарь через генератор
  40. Оператор == в Python
  41. Безопасные SQL-запросы в Python 3.11
  42. Метод repr() в Python
  43. Генераторы в Python
  44. Преобразование Word в PDF с Spire.Doc
  45. Проверка элемента в множестве.

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