Курс 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. Создание GUI на Tkinter
  2. Объединение списков в Python
  3. Искажение имен в Python
  4. Функции map() и reduce() в Python
  5. Удаление ключа из словаря
  6. Исправление ошибки NameError
  7. Фильтрация списков с itertools
  8. Оператор is в Python
  9. Удаление URL-адресов в Python
  10. Итераторы в Python
  11. Конкатенация строк в Python
  12. Использование обратной косой черты в f-строках
  13. Работа с изменяемыми коллекциями
  14. Получение пути к текущему скрипту с помощью os
  15. Именование переменных в Python
  16. Применение функции map() в Python
  17. Лямбда-функции в Python
  18. Дефолтные параметры в Python
  19. Функция enumerate в Python
  20. Синтаксис переменных цикла в Python
  21. Вложенные генераторы в Python
  22. Сравнение строк в Python
  23. Создание панели меню Tkinter
  24. Подсчет количества элементов в списке
  25. Метод __index__ в Python
  26. Работа с прокси в Python
  27. Оператор морж в Python 3.8
  28. Генераторы в Python
  29. Сортировка данных в Python
  30. Работа с срезами в Python
  31. Метод __int__ в Python
  32. Запрос DELETE с библиотекой requests
  33. Оператор распаковки в Python
  34. Отслеживание прогресса с tqdm
  35. Вывод символов строки в Python
  36. Лямбда-функции в Python
  37. Создание списков в Python
  38. Упрощенный вывод данных в Python
  39. Присвоение и ссылки
  40. Объединение объектов в Python
  41. Генерация чисел с range()
  42. Работа со словарями Python
  43. Создание множества в Python
  44. Метод repr() в Python
  45. Декоратор total_ordering для класса Point
  46. Метод rsub в Python: расширение функциональности вычитания

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