Курс 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. Функции в одну строку
  2. Вывод с переменной через запятую
  3. Метод get для словаря
  4. Функции с дополнением
  5. Работа с Telegram API на Python
  6. Python 3.12: Псевдонимы типов
  7. Python-dateutil — работа с датами
  8. Метод getitem для доступа к элементам последовательности
  9. Функция zip() в Python
  10. Удаление и повторная вставка ключа в OrderedDict
  11. Декоратор Property в Python
  12. Работа с множествами в Python
  13. Область видимости переменных
  14. Операторы += в Python
  15. Обновление шаблона base.html
  16. Подсчет элементов с помощью Counter из collections
  17. Python: цикл for и оператор присваивания
  18. Особенности множеств в Python
  19. Применение промокода в Много лосося
  20. Аннотации типов в Python
  21. Условное добавление элементов в список
  22. Замена элементов в списке с помощью генераторов списков
  23. Операторы объединения в Python 3.9
  24. Возврат нескольких значений из функции
  25. Фильтрация элементов с помощью islice
  26. Создание циклической ссылки
  27. Резервирование символов в Python
  28. Преобразование букв в нижний регистр
  29. Лямбда-функции в Python
  30. Строковое представление объектов
  31. Парсинг веб-страниц с Beautiful Soup
  32. Синхронизация потоков с time.sleep()
  33. Извлечение статей с newspaper3k
  34. Управление доступом к модулю
  35. Итерация по коллекции в Python
  36. Импорт с альтернативным именем
  37. Транспонирование 2D-массива с помощью zip
  38. Метод join() с набором
  39. Преобразование списка в словарь через генератор
  40. UserList в Python: Описание и примеры использования
  41. Сериализация и десериализация объектов
  42. Декораторы в Python
  43. Декораторы с аргументами в Python
  44. Сортировка и обратный порядок
  45. Форматирование строк с % в Python

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