Курс 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. Искажение имен в Python
  2. Запуск внешних программ с subprocess
  3. Область видимости переменных
  4. Импорт с альтернативным именем
  5. Сериализация и десериализация объектов
  6. Форматирование вывода с F-строками
  7. Работа с GitHub в Telegram
  8. Подсчет элементов с помощью Counter из collections
  9. Область видимости переменных
  10. Область видимости переменных
  11. Функция enumerate в Python
  12. Отладка производительности Python
  13. Структура строк в Python
  14. Метод __float__ в Python
  15. Добавление элемента в список.
  16. Извлечение аудио из видео
  17. Получение текущей даты и времени
  18. Методы Python для работы с данными
  19. Управление пакетами с pip
  20. Метод getitem для доступа к элементам последовательности
  21. Операторы Splat и splatty-splat
  22. Проверка файла .py на синтаксис.
  23. Настройка нарезки списков
  24. Генераторы и сеты в Python
  25. Создание словаря с значением по умолчанию
  26. Модуль antigravity: генерация координат
  27. Сортировка слиянием
  28. Нахождение пересечения множеств
  29. Создание директории в Python
  30. Асинхронное программирование с asyncio
  31. Работа со списками
  32. Лямбда-функции в Python
  33. Вычисление натурального логарифма в NumPy
  34. Названия столбцов в Python таблицах
  35. Аргумент по умолчанию
  36. Применение команды break
  37. Сравнение def и lambda-функций
  38. Счетчик в Python: most_common()
  39. Работа с каталогами в Python
  40. Метод join() для объединения элементов строки
  41. Непрерывная проверка в Python
  42. Определение имен функций
  43. Создание новых списков через list comprehensions
  44. Профилирование с cProfile
  45. Декораторы в Python
  46. Получение ID процесса

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