Курс 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. Названия столбцов в Python таблицах
  2. Функции высшего порядка в Python
  3. Переопределение унарных операторов
  4. Объединение списков в Python
  5. Сглаживание списка
  6. Работа с CSV файлами в Python
  7. Python: Splat-оператор и splatty-splat
  8. Объединение словарей в Python
  9. Pretty-printing JSON в Python
  10. Копирование объектов в Python
  11. Создание вложенного генератора
  12. Карта бомбоубежищ в Москве и Питере
  13. Основы работы со списками
  14. Операторы увеличения и уменьшения в Python
  15. Генераторы и сеты в Python
  16. Работа с deque из collections
  17. Базовые объекты Python
  18. Присвоение и ссылки
  19. Метод join() для объединения элементов строки
  20. Преобразование регистра символов
  21. Оператор деления для класса Rational
  22. Хеширование паролей с солью
  23. Оператор zip в Python
  24. Генератор списка в Python
  25. Итераторы в Python
  26. Асинхронное программирование с asyncio
  27. Распаковка элементов массива
  28. Избегайте использования goto
  29. Создание треугольника Паскаля
  30. Декоратор защиты анонимных пользователей
  31. Работа с контекст-менеджером «with»
  32. Декораторы в Python
  33. Регулярные выражения в Python
  34. Принципы программирования
  35. Использование html-скриптов в Jupyter Notebook
  36. Оператор is в Python
  37. Транспонирование 2D-массива с помощью zip
  38. Проверка версии Python
  39. CLI-инструмент howdoi
  40. Передача параметров в Python
  41. Метод join() для объединения элементов в строку.
  42. Удаление символов новой строки в Python.
  43. Реверс строки в Python
  44. Объединение списков в строку
  45. Определение объема памяти объекта
  46. Блок try-except-else
  47. Создание словарей в Python
  48. Округление банкира в Python

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