Курс 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. Комментарии в Python
  3. Циклы в Python
  4. Прокачанный трейсинг ошибок
  5. Функции map, filter, reduce
  6. Форматирование строк с помощью f-строк
  7. Импорт модуля из другого каталога
  8. Декораторы с @wraps
  9. Ключевое слово global в Python
  10. Получение текущей директории
  11. Подсказки типов в Python
  12. lru_cache оптимизация функций
  13. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  14. Комментарии в Python
  15. Оператор морж в Python 3.8
  16. Преобразование чисел в слова
  17. Определение функций с необязательными аргументами
  18. Форматирование кода на Python
  19. Сравнение строк в Python
  20. Оператор «is not» в Python
  21. Форматирование строк в Python
  22. Генерация QR-кодов с библиотекой qrcode
  23. Python union() функция — объединение множеств
  24. Атрибуты класса и экземпляра
  25. Функция rsplit() в Python
  26. Работа со строками
  27. Удаление дубликатов из списка
  28. Подписка на Kaspersky Team
  29. Цепные операции в Python
  30. Идентификатор объекта в Python
  31. Функции в одну строку
  32. Переопределение оператора % для объектов
  33. Распаковка элементов массива
  34. Делегирование в Python
  35. Преобразование документов в PDF с помощью Spire.Office
  36. Обработка элементов в Python
  37. Расчет времени выполнения
  38. Принципы Zen of Python
  39. Создание детектора плагиата
  40. Красивый вывод списка
  41. Работа с эмодзи в Python
  42. Метод ifloordiv для пользовательских классов
  43. Установка переменной среды в Python
  44. Сглаживание списка
  45. Декораторы в Python
  46. Применение функции map() в Python

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