Курс 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. enumerate() в Python для работы с индексами
  2. Объединение словарей в Python
  3. Python: отсутствие точек с запятыми
  4. Импорт с альтернативным именем
  5. Удаление элементов из списка в Python.
  6. Управление импортом в Python
  7. Работа с NumPy массивами
  8. Solidity для DeFi Ethereum
  9. Асинхронное выполнение задач в процессах
  10. Применение промокода в Много лосося
  11. Проблема с изменяемыми аргументами
  12. Генераторы списков
  13. Функция sleep() в Python
  14. Объединение словарей в Python
  15. Создание списков в Python
  16. Управление ресурсами с контекстными менеджерами
  17. Декораторы в Python
  18. SciPy: широкий функционал для математических операций
  19. Преобразование кортежа в словарь.
  20. Работа с CSV файлами в Python
  21. Декораторы в Python
  22. Просмотр атрибутов и методов класса
  23. Работа с defaultdictами в Python
  24. Бесконечная проверка в Python
  25. capitalize() — изменение регистра первого символа строки
  26. Управление пакетами с pip
  27. Работа с процессами в Python
  28. Поиск наиболее частого элемента
  29. Перемещение и удаление файлов в Python
  30. Оператор деления для класса Rational
  31. Структура данных словарь в Python
  32. Проверка строки на палиндром
  33. Удаление элемента из списка
  34. Работа с многоуровневыми словарями в Python
  35. Работа с дробями в Python
  36. Добавление элемента к кортежу
  37. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  38. Хеширование паролей с солью
  39. Оператор == в Python
  40. Извлечение чисел из текста
  41. Атрибуты класса и экземпляра
  42. Python Менеджер контекста
  43. Многострочные комментарии в Python
  44. Модуль Antigravity в Python 3
  45. Итерация по итерируемым объектам
  46. Преобразование символов с помощью map
  47. Лямбда-функции для min/max

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