Курс 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. CSV строка разделение в Python
  2. Определение относительного пути
  3. Удаление URL-адресов в Python
  4. Циклы в Python
  5. Структура данных deque в Python
  6. Работа с файлами в Python
  7. Хеши в Python
  8. Оператор assert в Python
  9. Обратный список чисел
  10. Проверка подстроки в строке с помощью in
  11. Работа с файлами в Python
  12. Частичное совпадение ввода
  13. Замена текста с помощью sub
  14. Генераторы данных
  15. Глобальные переменные в Python
  16. Переменные в Python: сокращение гласных
  17. Вызов функций по строке в Python.
  18. Изменения в обработке логических значений
  19. Создание и операции с дробями
  20. Python: отсутствие точек с запятыми
  21. Сортировка в Python
  22. Метод округления чисел
  23. Метод split() в Python
  24. Перевод двоичного кода в целое число
  25. Сравнение def и lambda в Python
  26. Разбиение строки в Python
  27. Получение текущей даты в Python
  28. Операция += для списков
  29. Методы classmethod и staticmethod
  30. Статическая типизация в Python
  31. Функция enumerate в Python
  32. Передача словаря через **kwargs
  33. Работа с парами ключ-значение
  34. Изменение объектов в Python
  35. Установка и использование модуля Wikipedia
  36. Python Ellipsis использование
  37. Замена элементов в списке с помощью генераторов списков
  38. Метод __ilshift__ для битового сдвига влево
  39. Ключевое слово global в Python
  40. Создание новых списков через list comprehensions
  41. Сортировка в Python
  42. Обрезка изображения с Pillow
  43. Динамические маршруты во Flask
  44. Измерение времени выполнения кода

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