Курс 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. Метод matmul для умножения матриц
  4. Метод init в Python
  5. Списки в Python: основы
  6. Эффективная конкатенация строк с использованием join()
  7. Работа с библиотекой xkcd
  8. Список и кортеж в Python
  9. Фильтрация элементов с помощью islice
  10. Вакансии в Nebius
  11. Делегирование в Python
  12. Модуль xkcd: добавление юмора в Python
  13. Логирование с Loguru
  14. Основные методы NumPy
  15. Аннотации типов в Python
  16. Асинхронный код в Python
  17. Получение текущего времени в Python
  18. Использование defaultdict в Python
  19. Вычисление фазы комплексного числа
  20. Принципы Zen of Python
  21. Многострочные комментарии в Python
  22. Управление виртуальными окружениями в Python
  23. Pillow: работа с изображениями
  24. Перевод текста с Python Translator
  25. Работа со строками в Python
  26. Создание .exe файла с pyinstaller
  27. Модуль array: создание и использование массивов
  28. Отображение графиков в Jupyter с Matplotlib
  29. Методы HTTP запросов в Flask
  30. Метод rsub для пользовательских чисел
  31. Официальный канал Python в Telegram
  32. Python: библиотеки и функции
  33. Создание виртуальной среды
  34. Работа с модулем glob в Python
  35. Concrete Paths — метод .with_suffix()
  36. Перемешивание списка с shuffle()
  37. Частичное применение функций в Python
  38. Метод difference_update() — разность множеств
  39. Тайное преобразование типа ключа
  40. Форматирование строк с f-строками
  41. Метод join() для объединения строк
  42. Модуль subprocess: запуск внешних команд
  43. Явный импорт переменных
  44. Удаление элементов из списка в Python

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