Курс 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. Названия столбцов в Python таблицах
  3. Функция rsplit() в Python
  4. Обход словаря в Python
  5. Библиотека wikipedia для Python
  6. Создание треугольника Паскаля
  7. Переопределение метода __eq__
  8. Python: динамическая типизация и проверка типов
  9. Работа с кортежами в Python
  10. Поток данных в Python
  11. Асинхронный код в Python
  12. Профилирование с cProfile
  13. Округление чисел с помощью round
  14. Операция += для списков
  15. Динамические маршруты во Flask
  16. Проектирование Singleton с метаклассом
  17. Удаление элемента из списка в Python
  18. Принципы программирования
  19. Определение основы слова с showballstemmer
  20. Перебор элементов списка в Python
  21. Вычисление логарифмов в Python
  22. Транспонирование 2D-массива с помощью zip
  23. Анализ текста на русском языке с помощью Pymystem3
  24. Извлечение новостей с newspaper3k
  25. Транспонирование 2D-массива с помощью zip
  26. Декоратор total_ordering для сравнения объектов
  27. Управление контекстом с помощью декоратора contextmanager
  28. Генераторы в Python
  29. Избегайте изменяемых аргументов
  30. Работа с срезами в Numpy
  31. Потоковый ввод в Python
  32. Переменные класса и экземпляра
  33. Группировка элементов в словарь
  34. Экспорт внешнего файла с помощью writefile
  35. Работа со строками в Python.
  36. Перемешивание списка с shuffle()
  37. Создание матрицы в Python
  38. Фильтрация входных данных в Python
  39. Операторы увеличения и уменьшения переменной
  40. Разработка Telegram-ботов
  41. Аргумент по умолчанию
  42. Лямбда-функции для min/max
  43. Генерация QR-кодов с библиотекой qrcode
  44. Управление контекстом выполнения кода
  45. Оператор continue в Python
  46. Решение переменной Шредингера
  47. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  48. Создание пустых функций и классов в Python

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