Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет модифицировать поведение функций без изменения их кода. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Это позволяет добавлять дополнительный код до и после выполнения целевой функции, а также изменять ее параметры и возвращаемое значение.
Для создания декоратора в Python необходимо определить функцию, которая принимает целевую функцию в качестве аргумента. Внутри этой функции можно определить любую логику, которая будет выполняться до и после вызова целевой функции. Затем необходимо вернуть новую функцию, которая будет заменять исходную функцию при применении декоратора.
def my_decorator(func):
def wrapper():
print("Дополнительный код до выполнения функции")
func()
print("Дополнительный код после выполнения функции")
return wrapper
@my_decorator
def my_function():
print("Основной код функции")
В данном примере мы создаем декоратор my_decorator, который выводит сообщения до и после выполнения функции my_function. При применении декоратора с помощью синтаксиса @my_decorator, вызов функции my_function будет автоматически заменен на вызов функции my_decorator(my_function), изменяя ее поведение.
Использование декораторов позволяет улучшить читаемость и поддерживаемость кода, разделяя логику функций от дополнительной функциональности. Они также позволяют повторно использовать код и упрощают внесение изменений в функциональность программы.
Другие уроки курса "Python"
- Возврат нескольких значений
- Пропуск строк в файле с itertools
- Big O оптимизация
- Метод rsub для пользовательских чисел
- Генератор списка в Python
- Извлечение данных из JSON
- Принципы программирования
- Работа с Enum в Python3.
- Автоматизация скриптов на AWS Lightsail.
- Работа с модулем random
- Работа с комплексными числами
- Многострочные комментарии в Python
- Генераторы в Python
- Запуск файлового сервера
- Итерация по итерируемым объектам
- Область видимости переменных
- Фильтрация последовательности
- Поиск индексов в списке
- Управление асинхронными задачами на Python.
- Создание генераторов
- Операторы увеличения и уменьшения переменной
- Оператор in для Python
- Порядок операций в Python
- Метод округления чисел
- Проблема с изменяемыми аргументами
- Проверка класса объекта
- Печать календаря в Python
- Работа с deque из collections
- Преобразование списков в словарь
- Выражения-генераторы в Python
- Анонимные функции Lambda
- Namedtuple в Python
- Библиотека schedule: планировщик задач
- Обработка ошибок в Python
- Установка и загрузка Instaloader
- Условные выражения в Python
- Декораторы с аргументами в Python
- Декораторы в Python
- Многоточие в Python
- Функция product() в Python
- Методы shutil для работы с файлами
- Деление в Python
- Генерация фальшивых данных с Faker
- Расширение информации об ошибке в Python
- Избегайте изменяемых аргументов















