Курс Python → Декораторы в Python

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

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


def my_decorator(func):
    def wrapper():
        print("Дополнительный код до выполнения функции")
        func()
        print("Дополнительный код после выполнения функции")
    return wrapper

@my_decorator
def say_hello():
    print("Привет, мир!")

say_hello()

В данном примере мы определяем декоратор my_decorator, который добавляет дополнительный код до и после выполнения функции say_hello. При вызове say_hello() будет выводиться текст «Дополнительный код до выполнения функции», затем «Привет, мир!» и в конце «Дополнительный код после выполнения функции». Это демонстрирует, как декораторы могут изменять поведение функций.

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

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

Автор урока

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

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

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

  1. Генерация UUID в Python
  2. Переменные в Python
  3. Группировка элементов Python
  4. Работа с библиотекой xkcd
  5. Библиотека sh: удобные команды терминала
  6. Функция reduce() из модуля functools
  7. Создание словаря с значением по умолчанию
  8. Сравнение объектов в Python
  9. Создание графиков в терминале
  10. Замер времени выполнения кода
  11. Метод __complex__ в Python
  12. Бесконечные списки в Python
  13. UserString в Python
  14. Генераторы в Python
  15. Работа с кортежами в Python
  16. Работа с collections в Python
  17. Flask — веб-фреймворк Python
  18. Подсказки при вводе данных в Python
  19. Вложенные функции в Python
  20. Особенности ключей словаря в Python
  21. Установка и использование pyshorteners
  22. Работа с комплексными числами
  23. Мониторинг работы программы Py-spy
  24. Python: библиотеки и функции
  25. Работа с эмодзи в Python
  26. Генерация тестовых данных с factory_boy
  27. Создание объекта timedelta
  28. Форматирование строк с % в Python
  29. Python Ellipsis использование
  30. Функция enumerate() в Python
  31. Получение текущей даты и времени с помощью datetime
  32. Оператор in для проверки наличия элемента
  33. Хранение данных с помощью dataclasses
  34. Работа с deque в Python
  35. Генераторы списков
  36. Очистка входных данных
  37. Удаление пробелов методом translate()
  38. Запрос DELETE с библиотекой requests
  39. Метод split() в Python
  40. JMESPath в Python
  41. Обязательные аргументы в Python
  42. Сортировка в Python

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