Курс 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. Установка и использование emoji
  2. Методы split() и join() — Python строк.
  3. Поиск повторов в списке
  4. Создание именованных кортежей в Python
  5. Оператор in и not in в Python
  6. Магические методы в Python
  7. Переопределение метода __lshift__
  8. Модуль future Python
  9. Отслеживание выполнения программы с библиотекой tqdm
  10. Удаление файлов с shutil.os.remove()
  11. Удаление ключей из словаря
  12. Работа с парами ключ-значение
  13. Декораторы с аргументами
  14. Метод __index__ в Python
  15. Изменение списка срезом
  16. Работа с исключениями в Python
  17. Создание словарей в Python
  18. Роль запятой в Python
  19. Работа с YAML в Python
  20. Создание словарей с defaultdict
  21. Функция map() в Python
  22. Объединение списков в Python
  23. Переопределение метода delitem в Python
  24. Удаление дубликатов из списка с помощью dict.fromkeys
  25. Оператор continue в Python
  26. Объединение списков в строку
  27. Метод Self в Python
  28. Обработка исключений в Python
  29. Тест скорости набора текста на Python
  30. Метод get для словаря
  31. Оптимизация гиперпараметров с Scikit Optimize
  32. Библиотека Rich: форматирование текста
  33. Блок else в Python
  34. Оператор «not» в Python
  35. Функция eval() в Python
  36. Инверсия списка/строки в Python
  37. Декораторы в Python
  38. Фильтрация элементов с помощью islice
  39. Наиболее частотные элементы с помощью Counter
  40. Сериализация данных в JSON с помощью json.dumps
  41. Метод rpow в Python
  42. Обработка ошибок в Python
  43. Преобразование Excel в PDF с Spire.XLS
  44. Очистка строки в Python
  45. Разделение строки с помощью re.split()
  46. split() — разделение строки
  47. Numpy: объединение массивов

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