Курс 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. Удаление URL-адресов в Python
  3. Подсчет элементов в списке с Counter
  4. Функция zip() в Python
  5. Defaultdict в Python
  6. Concrete Paths в Python
  7. List Comprehension Tutorial
  8. Применение промокода в Много лосося
  9. Python: отличительная особенность — отступы
  10. Установка и использование emoji
  11. Выражения-генераторы в Python
  12. Декоратор защиты анонимных пользователей
  13. Копирование объектов в Python
  14. Рекурсия для обращения строки
  15. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  16. Подсчет частоты элементов с Counter
  17. Методы shutil для работы с файлами
  18. Извлечение аудио из видео
  19. Лямбда-функции в Python
  20. Метод __ilshift__ для битового сдвига влево
  21. Работа со строками в Python
  22. Разделение строки с регулярными выражениями
  23. Распаковка аргументов в Python
  24. Установка Python — Простое руководство
  25. Оператор is в Python
  26. Нан-рефлексивность в Python
  27. Генерация строк с .join()
  28. Подсчет количества элементов в списке
  29. Работа с итераторами в Python
  30. Простой калькулятор Python
  31. Работа с дробями в Python
  32. Работа с массивами в Numpy
  33. Работа с collections в Python.
  34. Обработка исключений в Python
  35. Метод ifloordiv для пользовательских классов
  36. Измерение времени выполнения кода
  37. Работа с JSON данными в Python
  38. Python UserString — создание подклассов строк
  39. Форматирование строк в Python
  40. Генератор списка с условием if
  41. Проверка типов с использованием isinstance
  42. Объединение кортежей в Python
  43. TON Smart Challenge #2: участие и подготовка
  44. Установка и использование библиотеки google
  45. Python enumerate() для работы с индексами
  46. Поиск уникальных и повторяющихся элементов
  47. PrettyTable: создание таблицы

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