Курс Python → Декораторы в Python

Декораторы в Python — это специальные функции, которые могут изменить поведение другой функции или класса без изменения их собственного кода. Они позволяют добавлять дополнительную функциональность к существующему коду, не изменяя его исходную реализацию. Декораторы могут использоваться, например, для логирования, кэширования, проверки аргументов или управления доступом к функциям.

Для создания декоратора в Python используется символ @, за которым следует имя функции-декоратора. Функция-декоратор принимает другую функцию в качестве аргумента и возвращает новую функцию или класс. Это позволяет применять декоратор к другим функциям, чтобы изменить или расширить их поведение.


def square_decorator(func):
    def wrapper(*args, **kwargs):
        result = func(*args, **kwargs)
        return result ** 2
    return wrapper

@square_decorator
def square(x):
    return x

В приведенном примере функция square_decorator() является декоратором, который принимает функцию в качестве аргумента и возвращает новую функцию, которая возводит результат выполнения исходной функции в квадрат. После применения декоратора @square_decorator к функции square(), результат ее выполнения будет возводиться в квадрат.

Использование декораторов позволяет сделать код более модульным, читаемым и гибким. Они позволяют разделить различные аспекты функциональности программы и применять их по отдельности к различным частям кода. Благодаря декораторам можно эффективно использовать и переиспользовать код, делая его более универсальным и поддерживаемым.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Имена объектов в Python
  2. Docstring в Python
  3. Добавление Progressbar в Python
  4. Импорт модулей и пакетов в Python
  5. Удаление элементов из списка в Python
  6. Установка и обучение ChatterBot
  7. Проблемы с именами переменных
  8. Обновление ключей в Python
  9. Модуль itertools: комбинации и перестановки
  10. Конструктор в Python
  11. Многострочные комментарии в Python
  12. Использование метода lower()
  13. Разделение строки с помощью re.split()
  14. Преобразование чисел в слова
  15. Импорт с альтернативным именем
  16. Копирование объектов в Python
  17. Создание класса в Python
  18. Numpy: объединение массивов
  19. Получение текущей даты в Python
  20. Структурирование данных с Pydantic
  21. Работа с SQLite в Python
  22. Метод join() для объединения элементов строки
  23. Проверка на палиндром
  24. Чтение и запись TOML-конфигов
  25. Извлечение данных из JSON
  26. Использование подчеркивания в REPL
  27. Виртуальное окружение Python
  28. Хешируемые ключи в Python
  29. Объединение списков с помощью zip
  30. 9 уловок для чистого кода
  31. Именование столбцов в Python с pandas
  32. Метод remove() для удаления элемента из списка
  33. Работа с географическими данными.
  34. Подробная информация о %pinfo
  35. Условные выражения в Python
  36. Объединение словарей в Python
  37. Избегайте ошибку FileNotFoundError
  38. Декораторы в Python
  39. Работа с deque из collections
  40. Избегайте изменяемых аргументов
  41. Именованные срезы в Python

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