Курс 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. Генератор данных в Keras
  2. Defaultdict в Python
  3. Отправка POST запроса на сервер.
  4. Измерение времени выполнения в Python
  5. Чтение и запись TOML-конфигов
  6. Объединение итераторов
  7. Измерение времени выполнения с помощью time
  8. Создание словарей в Python
  9. Работа с NumPy массивами
  10. Именованные срезы в Python
  11. Сортировка и разворот списка
  12. Установка Home Assistant
  13. Метод hash в Python
  14. Цикл for в Python
  15. Тестирование модели в PyTorch
  16. Многострочные строки в Python
  17. Анализ кода — Python
  18. Оператор @ для умножения матриц
  19. Транспонирование 2D-массива с помощью zip
  20. Освоение Python
  21. Переворот строки
  22. Создание функций с произвольным количеством аргументов
  23. Конструктор в Python
  24. Прокачанный трейсинг ошибок
  25. Оператор continue в Python
  26. Метод setitem в Python
  27. Определение функций с необязательными аргументами
  28. Множества и frozenset
  29. Получение идентификатора объекта в памяти
  30. Сравнение строк в Python
  31. Решение переменной Шредингера
  32. Определение объема памяти объекта
  33. Python Метод Union Множеств
  34. Метод __int__ в Python
  35. Передача аргументов в Python
  36. Многострочные комментарии в Python
  37. Переменная с нижним подчеркиванием
  38. Обновление и получение данных в SQLite
  39. Defaultdict в Python
  40. Создание и инициализация объектов
  41. Объединение словарей в Python
  42. Проверка однородности элементов списка
  43. Возвращение нескольких значений
  44. Удаление элемента из списка
  45. Декораторы в Python

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