Курс 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. Работа с комбинациями в Python.
  3. Работа со строками в Python.
  4. Разделение строки с помощью split()
  5. Итераторы с потерямиZIP
  6. Обязательные аргументы в Python
  7. Преобразование списка в словарь через генератор
  8. Создание и операции с дробями
  9. Инициализация структур данных
  10. Декоратор total_ordering для сравнения объектов
  11. Оптимизация памяти в Python
  12. Преобразование кортежа в словарь.
  13. Генерация случайных данных в NumPy
  14. Гибкие функции Python
  15. Сравнение строк в Python
  16. Работа с многоуровневыми словарями в Python
  17. Применение функции к элементам списка
  18. Создание виртуальной среды
  19. Python Enum Weekday Usage
  20. Работа с Path в Python
  21. Модуль itertools: эффективная работа с итераторами
  22. Работа с буфером обмена на Python
  23. Генерация случайных чисел в Python
  24. Избегайте изменяемых аргументов
  25. Вывод переменной и строки в Python
  26. Логирование в Python
  27. Основные операции с библиотекой Numpy
  28. Проверка надежности пароля на Python
  29. Получение локальных переменных в Python
  30. Метод __ilshift__ для битового сдвига влево
  31. Введение в Python
  32. Работа с дробями в Python
  33. Работа с атрибутом dict
  34. Пространство имен в Python
  35. Обратный список чисел
  36. Генераторы по генератору
  37. Импорт в Python: список all
  38. Сортировка данных в Python
  39. Функция __init__ в Python
  40. None в Python: использование и особенности
  41. Атрибуты объекта в Python
  42. Определение функций с необязательными аргументами
  43. Генераторы списков в Python
  44. Изменение списка срезом
  45. Создание GUI с Tkinter: Entry
  46. Оператор Walrus в Python
  47. Объединение множеств в Python

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