Курс 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. Запуск асинхронной корутины
  3. Многострочные комментарии в Python
  4. Использование эмодзи в Python
  5. Декораторы в Python
  6. Проверка на палиндром
  7. Обработка ошибок в Python
  8. Создание GUI с Tkinter: Entry
  9. Назначение максимального и минимального значения переменной в Python.
  10. Функции all() и any() в Python
  11. Создание объекта времени
  12. Метод get для словарей
  13. Метод invert для побитового отрицания
  14. Отладка в Python
  15. Codecademy в Telegram
  16. Форматирование данных с помощью pprint
  17. Получение имени функции с помощью inspect
  18. Локальные переменные.
  19. Класс Counter() для подсчета элементов
  20. Работа с библиотекой xkcd
  21. Контроль точности вывода чисел
  22. List Comprehension Tutorial
  23. Проблема с изменяемыми аргументами
  24. Метод append() для списка
  25. Counter() — подсчет элементов
  26. Оператор объединения словарей
  27. Условные выражения в Python
  28. Переопределение метода __and__
  29. Работа с модулем Calendar
  30. Основы Python за 14 дней
  31. Быстрый поиск кода
  32. Обязательные аргументы в Python
  33. Переопределение метода xor в Python
  34. Библиотека sh: использование команд bash в Python
  35. Python и Монти Пайтон
  36. Метод __iand__ для пользовательских классов
  37. Работа со строками в Python
  38. Метод pop() списка
  39. Переворот списка в Python
  40. Метод __int__ в Python
  41. Работа с массивами в Python
  42. Удаление элементов из списка в Python
  43. Транспонирование матрицы
  44. Нахождение максимального значения и его индекса в списке

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