Курс 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"
- Хешируемые ключи в Python
- Удаление URL-адресов в Python
- Подсчет элементов в списке с Counter
- Функция zip() в Python
- Defaultdict в Python
- Concrete Paths в Python
- List Comprehension Tutorial
- Применение промокода в Много лосося
- Python: отличительная особенность — отступы
- Установка и использование emoji
- Выражения-генераторы в Python
- Декоратор защиты анонимных пользователей
- Копирование объектов в Python
- Рекурсия для обращения строки
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Подсчет частоты элементов с Counter
- Методы shutil для работы с файлами
- Извлечение аудио из видео
- Лямбда-функции в Python
- Метод __ilshift__ для битового сдвига влево
- Работа со строками в Python
- Разделение строки с регулярными выражениями
- Распаковка аргументов в Python
- Установка Python — Простое руководство
- Оператор is в Python
- Нан-рефлексивность в Python
- Генерация строк с .join()
- Подсчет количества элементов в списке
- Работа с итераторами в Python
- Простой калькулятор Python
- Работа с дробями в Python
- Работа с массивами в Numpy
- Работа с collections в Python.
- Обработка исключений в Python
- Метод ifloordiv для пользовательских классов
- Измерение времени выполнения кода
- Работа с JSON данными в Python
- Python UserString — создание подклассов строк
- Форматирование строк в Python
- Генератор списка с условием if
- Проверка типов с использованием isinstance
- Объединение кортежей в Python
- TON Smart Challenge #2: участие и подготовка
- Установка и использование библиотеки google
- Python enumerate() для работы с индексами
- Поиск уникальных и повторяющихся элементов
- PrettyTable: создание таблицы















