Курс 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. UserString в Python
  3. Работа с NumPy
  4. Анализ текста на русском языке с помощью Pymystem3
  5. Colorama: окрашивание текста в Python
  6. Асинхронное выполнение задач в процессах
  7. Возврат нескольких значений
  8. Метод remove() для удаления элемента из списка
  9. Магические методы в Python
  10. Освобождение памяти в Python
  11. Создание комплексных чисел
  12. Вложенные генераторы в Python
  13. Ускорение выполнения кода в Python
  14. Определение объема памяти объекта
  15. Векторизация в Python с NumPy.
  16. Вычисление натуральных логарифмов в NumPy
  17. Метод join() с набором
  18. Отправка POST-запроса в REST API
  19. Печать списка с помощью метода join
  20. Динамические маршруты во Flask
  21. Python Менеджер контекста
  22. Оператор деления для класса Rational
  23. Замена символов в Python
  24. Исправление ошибки NameError
  25. Сериализация объектов в Python
  26. Протокол управления контекстом
  27. Работа с PosixPath() в Python
  28. Основы Python
  29. Раздувающийся словарь в Python
  30. Преобразование списка в словарь через генератор
  31. Работа с модулем random
  32. Извлечение новостей с помощью newspaper3k
  33. Установка и использование emoji
  34. Создание .exe файла с pyinstaller
  35. Метод join() для объединения элементов в строку.
  36. Частичное совпадение ввода
  37. Настройка шрифта и цвета в Tkinter
  38. Dict Comprehension в Python
  39. Удаление знаков препинания в Python
  40. Оператор is в Python
  41. Проверка файла .py на синтаксис.
  42. Разделение строк методом split()
  43. TypedDict для kwargs в Python 3.12

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