Курс 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. Метод __ilshift__ для битового сдвига влево
  2. Создание тестовых данных с Faker
  3. Упрощение условных выражений с тернарным оператором
  4. Проверка списка: any() и all()
  5. Конструктор в Python
  6. Объединение списков в строку
  7. Модуль array: создание и использование массивов
  8. Округление в Python
  9. Метод __iand__ для пользовательских классов
  10. Работа с индексами списков
  11. Работа с функцией next() в Python
  12. Удаление ссылок в Python
  13. Отладка утечек памяти в Python
  14. Конкатенация строк в Python
  15. Многострочные комментарии в Python
  16. Использование функции enumerate()
  17. Методы в Python
  18. Работа с атрибутом dict
  19. Работа с YAML в Python
  20. Форматирование чисел в Python
  21. Оператор break в Python
  22. Работа с датой и временем в Python
  23. Декораторы в Python
  24. Метод eq для сравнения объектов
  25. Обработка исключений в Python
  26. Python Enum Weekday Usage
  27. SciPy: широкий функционал для математических операций
  28. Профилирование с Pandas
  29. Поиск самого частого элемента
  30. Проверка на палиндром
  31. Проблема с изменяемыми аргументами
  32. Асинхронное выполнение задач в процессах
  33. Сортировка в Python
  34. Декораторы в Python
  35. Разделение списка на гнппы
  36. Нахождение разницы между списками в Python
  37. Обязательные аргументы в Python
  38. Retrying в Python: повторные вызовы
  39. Реализация операции -= для пользовательского класса
  40. Удаление специальных символов
  41. Подсчет элементов с помощью Counter из collections
  42. Копирование словарей и списков в Python
  43. Обновление и получение данных в SQLite
  44. Зарезервированные слова в Python
  45. Функция enumerate() в Python
  46. Отображение HTML кода в Python
  47. Поиск наиболее частого элемента

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