Курс 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. Псевдонимы в Python
  3. Использование подчеркивания в REPL
  4. Получение локальных переменных в Python
  5. Сглаживание списка
  6. Оптимизация памяти с slots
  7. Python 3.12: Псевдонимы типов
  8. Скрытие вывода данных
  9. Разделение списка на гнппы
  10. Логирование в Python
  11. Операции с массивами в NumPy
  12. Функция pow() — возвести число в степень
  13. Создание GUI с Tkinter: Entry
  14. Работа с коллекциями Python
  15. Просмотр атрибутов и методов класса
  16. PATCH-запрос с библиотекой requests
  17. Работа с исключениями в Python
  18. Python groupby() из itertools: работа с повторяющимися элементами
  19. Работа с датой и временем в Python
  20. Создание словарей с defaultdict
  21. Функция enumerate() в Python
  22. Типы возвращаемых значений в Python
  23. Работа с collections в Python.
  24. Функции all и any в Python
  25. Функциональное программирование.
  26. Разность множеств
  27. Метод join() с набором
  28. Метод enumerate() в Python
  29. Декораторы в Python
  30. Обезопасьте ввод данных
  31. Встроенные функции Python
  32. Работа с изображениями PIL
  33. Генераторы списков в Python
  34. Округление чисел с помощью round
  35. Defaultdict в Python
  36. Извлечение аудио из видео
  37. Переопределение оператора % для объектов
  38. Поиск индекса элемента
  39. Ограничение итераций в Python
  40. Распаковка аргументов в Python
  41. Вызов внешних программ в Python с помощью sh
  42. Получение комбинаций в Python
  43. Использование обратной косой черты в f-строках
  44. Форматирование данных с помощью pprint
  45. Именованные кортежи в Python
  46. Цикл for в Python
  47. Разделение строк методом split()

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