Курс 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. Улучшение читаемости кода в Python
  3. Упрощение условных выражений с тернарным оператором
  4. Блок try…finally в Python
  5. Метод get() для словарей
  6. Подсчет частотности элементов в Python
  7. Управление контекстом с помощью декоратора contextmanager
  8. Декораторы для регистрации функций
  9. JMESPath в Python
  10. Отладка в Python
  11. Итерация по копии коллекции
  12. Работа со слайсами
  13. Обновление ключей в Python
  14. Python itertools combinations() — группировка элементов
  15. Работа с YAML в Python
  16. Обработка исключений в Python
  17. f-строки в формате строк
  18. Подсчет элементов в Python
  19. Преобразование списка в словарь через генератор
  20. Манипуляция формой массива в Numpy
  21. Представление бесконечности в Python
  22. Python: отсутствие точек с запятыми
  23. Создание графики с черепахой
  24. Решение переменной Шредингера
  25. Копирование словарей и списков в Python
  26. Документация функции help() в Python
  27. Обработка аргументов Python
  28. Поиск индекса элемента в списке
  29. Определение функций с необязательными аргументами
  30. Определение наиболее частого элемента с помощью collections.Counter
  31. Операции с датами в Python
  32. Тернарный оператор в Python
  33. Применение функции к каждому элементу списка
  34. Изменения в обработке логических значений
  35. Структуры данных в Python
  36. Создание инструмента обнаружения плагиата
  37. Подписка на SelectelNews в Twitter
  38. Удаление символа из строки
  39. Генерация случайных данных в NumPy
  40. Логирование в Python
  41. Оператор is в Python
  42. Работа с базами данных SQLite
  43. Разница между датами
  44. Операции с числами в Python
  45. Генератор надежных паролей
  46. Анонимные функции в Python
  47. Работа с словарями в Python
  48. Методы split() и join() — Python строк.
  49. Проверка наличия элемента в списке

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