Курс 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
- Улучшение читаемости кода в Python
- Упрощение условных выражений с тернарным оператором
- Блок try…finally в Python
- Метод get() для словарей
- Подсчет частотности элементов в Python
- Управление контекстом с помощью декоратора contextmanager
- Декораторы для регистрации функций
- JMESPath в Python
- Отладка в Python
- Итерация по копии коллекции
- Работа со слайсами
- Обновление ключей в Python
- Python itertools combinations() — группировка элементов
- Работа с YAML в Python
- Обработка исключений в Python
- f-строки в формате строк
- Подсчет элементов в Python
- Преобразование списка в словарь через генератор
- Манипуляция формой массива в Numpy
- Представление бесконечности в Python
- Python: отсутствие точек с запятыми
- Создание графики с черепахой
- Решение переменной Шредингера
- Копирование словарей и списков в Python
- Документация функции help() в Python
- Обработка аргументов Python
- Поиск индекса элемента в списке
- Определение функций с необязательными аргументами
- Определение наиболее частого элемента с помощью collections.Counter
- Операции с датами в Python
- Тернарный оператор в Python
- Применение функции к каждому элементу списка
- Изменения в обработке логических значений
- Структуры данных в Python
- Создание инструмента обнаружения плагиата
- Подписка на SelectelNews в Twitter
- Удаление символа из строки
- Генерация случайных данных в NumPy
- Логирование в Python
- Оператор is в Python
- Работа с базами данных SQLite
- Разница между датами
- Операции с числами в Python
- Генератор надежных паролей
- Анонимные функции в Python
- Работа с словарями в Python
- Методы split() и join() — Python строк.
- Проверка наличия элемента в списке















