Курс 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. Создание обратного итератора
  2. Распаковка значений в Python
  3. Безопасные SQL-запросы в Python 3.11
  4. Передача аргументов в Python
  5. Импорт с альтернативным именем
  6. Enum в Python
  7. Форматирование данных с pprint
  8. Хранение данных
  9. Подсчет частотности элементов в Python
  10. Оператор continue в Python
  11. Реверс строки в Python
  12. Многопроцессорное программирование в Python
  13. Создание файла с проверкой ошибки
  14. Однострочники Python
  15. Bootle — простой веб-фреймворк
  16. Python Translator: создание локальных переводчиков
  17. Анонимные функции Lambda
  18. Именованные кортежи в Python
  19. Запуск внешних программ с subprocess
  20. Область видимости переменных
  21. Python: динамическая типизация и проверка типов
  22. Избегайте использования goto
  23. Установка и использование Python-dateutil
  24. Функция zip() в Python
  25. Раздувающийся словарь в Python
  26. Измерение времени выполнения кода
  27. Проверка однородности элементов списка
  28. Использование модуля __future__
  29. Подсчет элементов в Python
  30. Конкатенация строк в Python
  31. Непрерывная проверка в Python
  32. Просмотр атрибутов и методов класса
  33. Лямбда-функции в Python
  34. Метод splitlines() для разделения строк
  35. Установка и использование модуля «howdoi»
  36. Контроль точности вывода чисел
  37. Python Тесты и Гайды
  38. Аннотации типов в Python
  39. Векторизация в Python с NumPy.
  40. Цикл for в Python
  41. Отправка POST запроса на сервер.
  42. Применение функции map() в Python
  43. Очистка строки в Python
  44. Срезы в Python
  45. Комментарии в Python
  46. Установка User-Agent в Python
  47. Функция map() в Python

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