Курс 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. Преобразование Excel в PDF с Spire.XLS
  2. Работа с Path в Python
  3. Печать в одной строке
  4. Блок else в обработке исключений
  5. Генераторы в Python
  6. Работа с датами в Python
  7. Декораторы в Python
  8. Метод ipow для возведения в степень
  9. Асинхронное программирование с asyncio
  10. Обработка элементов в Python
  11. CLI-инструмент howdoi
  12. Списковое включение в Python
  13. Python enumerate() использование
  14. Округление в Python
  15. Измерение времени выполнения кода с использованием time
  16. Сокращение ссылок с pyshorteners
  17. Добавление кнопки в tkinter
  18. Создание новых списков в Python
  19. Работа с геоданными с помощью geopy
  20. Удаление элементов из списка в Python.
  21. Строки в Python: апострофы и кавычки
  22. Метод join() для объединения элементов строки
  23. Измерение времени выполнения
  24. Многострочные комментарии в Python
  25. Обновление шаблона base.html
  26. Работа с кортежами в Python
  27. split() — разделение строки
  28. Срезы в Python
  29. Получение списка кортежей из словаря
  30. Работа с getopt
  31. Резервирование символов в Python
  32. Стать Python-разработчиком
  33. Оператор continue в Python
  34. Транспонирование 2D-массива с помощью zip
  35. Codecademy в Telegram
  36. Возврат нескольких значений
  37. Модуль os: работа с файлами и папками
  38. Измерение времени выполнения кода
  39. Работа с CSV файлами в Python
  40. Создание таблиц в терминале с PrettyTable
  41. 9 уловок для чистого кода
  42. Печать комбинаций в Python с Itertools
  43. Бесконечные списки в Python
  44. Работа с классами данных
  45. Создание и использование модулей в Python

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