Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.
Для создания декоратора в Python используется символ @, за которым следует имя декоратора. Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Эта новая функция обычно содержит дополнительный код, который выполняется до или после вызова исходной функции.
def my_decorator(func):
def wrapper():
print("Дополнительный код перед вызовом функции")
func()
print("Дополнительный код после вызова функции")
return wrapper
@my_decorator
def say_hello():
print("Привет, мир!")
В приведенном выше примере функция say_hello() декорируется функцией my_decorator(). При вызове функции say_hello() будет сначала выполнен дополнительный код из декоратора, затем сама функция say_hello() и, наконец, еще один блок кода из декоратора. Таким образом, мы можем легко изменять и расширять функциональность наших функций.
Использование декораторов в Python позволяет сделать код более гибким и удобным для поддержки. Они позволяют разделить логику программы на отдельные блоки, что упрощает чтение и понимание кода. Благодаря декораторам мы можем добавлять новые функции и возможности без необходимости изменения исходного кода, что делает нашу программу более масштабируемой и гибкой.
Другие уроки курса "Python"
- Метод difference_update() — разность множеств
- Функции в Python: создание и вызов
- Вычисление времени выполнения
- Ограничение ресурсов в Python
- Избегание циклических зависимостей классов в Python
- Измерение времени выполнения кода в Python
- Обработка исключений
- Искажение имен в Python
- Реализация операции -= для пользовательского класса
- Метод __irshift__ для Python
- Проверка вхождения подстроки
- Просмотр внешних файлов в %pycat
- Отделение звука от видео
- Поиск индексов в списке
- Отрицательные индексы списков
- Объединение словарей в Python
- Получение текущей даты и времени
- Структурирование данных с Pydantic
- Объединение словарей в Python
- Defaultdict в Python
- Сохранение и загрузка модели в PyTorch
- Удаление элементов из списка
- split() — разделение строки
- Создание новых списков через list comprehensions
- Мониторинг памяти с Pympler
- Python Ellipsis использование
- Изменение списка срезом
- Работа с областями видимости переменных
- Порядок операций в Python
- Типы возвращаемых значений в Python
- Подписка на каналы разработчиков
- Функции высшего порядка в Python
- Python defaultdict добавление ключа
- Основы Python за 14 дней
- Замена переменных в Python
- Функции all() и any() в Python
- Форматирование чисел в Python
- Многопоточность в Python
- Именованные срезы в Python
- Лимиты на ресурсы Python
- Хранение данных
- Основные методы NumPy
- Работа с парами ключ-значение
- Очистка данных в Python















