Курс 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. Метод __iand__ для пользовательских классов
  2. Генераторы в Python
  3. Список переменных с %who
  4. Работа с CSV файлами в Python
  5. Оператор == в Python
  6. Создание списка дат
  7. Мониторинг работы программы Py-spy
  8. Создание коллекций из генератора
  9. Создание копии списка в Python
  10. Метод ifloordiv для пользовательских классов
  11. Работа с Colorama
  12. Проекты на Python
  13. Python Тесты и Гайды
  14. Уникальные значения из списка
  15. Разбиение строки в Python
  16. Удаление дубликатов из списка
  17. Проверка строки на палиндром
  18. Сравнение строк в Python
  19. Создание новых функций с помощью functools.partial
  20. Метод enumerate() в Python
  21. Функция enumerate() в Python
  22. Оператор is в Python
  23. Проверка типа данных
  24. Конвертация коллекций в Python.
  25. Стать Python-разработчиком
  26. Разделение строк в Python
  27. Анонимные функции Lambda
  28. Чтение и запись TOML-конфигов
  29. Сравнение def и lambda в Python
  30. Удаление дубликатов из списка с помощью dict.fromkeys
  31. Модуль xkcd: добавление юмора в Python
  32. Работа со словарями Python
  33. Метод join() для объединения элементов в строку.
  34. Работа с IP-адресами в Python
  35. Работа с изменяемыми коллекциями
  36. Проверка подстроки в строке
  37. Руководство по библиотеке pydantic
  38. Форматирование строк в Python
  39. Отладка утечек памяти в Python
  40. Отправка POST запроса на сервер.
  41. JSON в Python: модуль, dump, dumps, load
  42. Конкатенация строк с join() в Python
  43. Обработка аргументов Python
  44. Перегрузка операторов в Python
  45. Удаление URL-адресов в Python
  46. Генераторы в Python
  47. Combobox в Tkinter
  48. Множественное присваивание в Python

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