Курс 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. Управление контекстом выполнения кода
  3. Обработка исключений в Python
  4. Удаление элемента из списка
  5. Управление виртуальными средами в Python
  6. Применение функции к списку
  7. Оператор += для объединения строк
  8. Работа с коллекциями Python
  9. Получение имени функции с помощью inspect
  10. Python: Splat-оператор и splatty-splat
  11. Метод split() в Python
  12. Создание файла с проверкой ошибки
  13. Разделение строк в Python
  14. Каналы Senior: Python, Java, Frontend, SQL, C++
  15. Курс Data Scientist в медицине
  16. Генераторы списков
  17. Любовь к Python
  18. Метод lt для сортировки объектов
  19. Блок else в циклах Python
  20. Декоратор для группы пользователей в Django
  21. SciPy: широкий функционал для математических операций
  22. Модуль xkcd: загрузка комиксов
  23. Получение списка кортежей из словаря
  24. Работа с утверждениями в Python
  25. Оператор is в Python
  26. Сравнение def и lambda функций в Python
  27. Импорт в Python: список all
  28. Условные выражения в Python
  29. Работа с YAML в Python
  30. Метаклассы в Python
  31. Проверка условий в Python
  32. Создание генераторов
  33. Метод rxor для операции побитового исключающего «или»
  34. Оформление текста в консоли с TermColor
  35. Вывод с переменной через запятую
  36. Python: отличительная особенность — отступы
  37. Атрибуты класса и экземпляра в Python
  38. Метод join() для объединения элементов строки
  39. Обработка ошибок в Python
  40. Поиск индекса элемента в списке
  41. Переопределение метода len
  42. Генератор надежных паролей
  43. Работа со списками
  44. Подсчет частоты элементов с Counter

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