Курс 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. Оператор match в Python
  2. Транспонирование матрицы в Python
  3. Склеивание строк без циклов
  4. Переопределение метода __rshift__
  5. Работа с Requests для HTTP-запросов
  6. Многострочные комментарии в Python
  7. Обход дочерних элементов BeautifulSoup
  8. Подсчет элементов в Python
  9. Блок try…finally в Python
  10. Отладка в командной строке
  11. Создание словаря через dict comprehension
  12. Установка и использование модуля Wikipedia
  13. Получение локальных переменных в Python
  14. Установка Python — Простое руководство
  15. Секреты Python
  16. Python: Фильтрация списков с помощью filter()
  17. Работа с парами ключ-значение
  18. Декораторы в Python
  19. Динамическая типизация в Python
  20. Комплексные числа в Python
  21. Создание множества в Python
  22. Сравнение строк в Python
  23. Многострочные комментарии в Python
  24. Работа с *args и **kwargs в Python
  25. Поток данных в Python
  26. Подсчет количества элементов в списке
  27. Подсказки типов в Python
  28. Класс Counter() для подсчета элементов
  29. Создание и удаление объектов
  30. Контекстный менеджер в Python
  31. Основные методы NumPy
  32. Работа с OpenCV
  33. Обработка ошибок в JSON данных
  34. Работа с библиотекой requests
  35. Создание тестовых данных с Faker
  36. Оператор in и not in в Python
  37. Комментарии в Python
  38. Подсчет частоты элементов с Counter
  39. Оператор in в Python
  40. Метод Self в Python
  41. Сравнение объектов в Python
  42. Переопределение метода xor в Python
  43. Атрибуты массивов в Numpy
  44. Concrete Paths — метод .with_suffix()
  45. Преобразование списка в словарь через генератор
  46. Множественное наследование в Python

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