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

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

Для определения собственных декораторов в Python мы можем использовать синтаксис @decorator_func, где decorator_func — это функция-декоратор. Мы также можем использовать встроенные декораторы, которые предоставляются языком Python, такие как @staticmethod для создания статических методов в классах. Статические методы не привязаны к экземпляру или классу, а просто логически принадлежат к классу.

Пример использования декораторов в 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"

  1. Оформление кода на Python
  2. Работа с deque из collections
  3. Функция с *args.
  4. Преобразование символов с помощью map
  5. GitHub в Telegram: подписка на уведомления
  6. Работа с модулем os в Python
  7. Настройка Cron
  8. Декораторы классов
  9. Исправление ошибки NameError
  10. Атрибуты класса и экземпляра
  11. Изменение элемента списка
  12. Именование столбцов в Python с pandas
  13. Solidity для DeFi Ethereum
  14. Введение в PyTorch
  15. Использование defaultdict в Python
  16. Поиск индекса элемента
  17. Построение графиков в терминале с bashplotlib
  18. Измерение времени выполнения в Python
  19. Аргумент по умолчанию
  20. Блок else в Python
  21. Блок try-except-else
  22. Обратное распространение ошибки
  23. Метод hash в Python
  24. Функция count() в Python
  25. Работа с IP-адресами в Python
  26. Метод __imod__ для Python
  27. Декоратор защиты анонимных пользователей
  28. Логические операторы в Python
  29. Генераторы в Python
  30. Работа с SQLite в Python
  31. Реализация метода __abs__ в Python
  32. Разбиение текста в Python
  33. Взаимодействие с sys
  34. Глубокое копирование объектов
  35. Библиотека schedule: планировщик задач
  36. Удаление файлов и папок в Python
  37. Enum в Python
  38. Асинхронное программирование с asyncio
  39. Установка Python — Простое руководство
  40. Цикл for в Python
  41. Проверка строки на палиндром
  42. Форматирование строк с % в Python
  43. Удаление элемента из списка в Python

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