Курс 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"
- Генерация UUID в Python
- Переменные в Python
- Группировка элементов Python
- Работа с библиотекой xkcd
- Библиотека sh: удобные команды терминала
- Функция reduce() из модуля functools
- Создание словаря с значением по умолчанию
- Сравнение объектов в Python
- Создание графиков в терминале
- Замер времени выполнения кода
- Метод __complex__ в Python
- Бесконечные списки в Python
- UserString в Python
- Генераторы в Python
- Работа с кортежами в Python
- Работа с collections в Python
- Flask — веб-фреймворк Python
- Подсказки при вводе данных в Python
- Вложенные функции в Python
- Особенности ключей словаря в Python
- Установка и использование pyshorteners
- Работа с комплексными числами
- Мониторинг работы программы Py-spy
- Python: библиотеки и функции
- Работа с эмодзи в Python
- Генерация тестовых данных с factory_boy
- Создание объекта timedelta
- Форматирование строк с % в Python
- Python Ellipsis использование
- Функция enumerate() в Python
- Получение текущей даты и времени с помощью datetime
- Оператор in для проверки наличия элемента
- Хранение данных с помощью dataclasses
- Работа с deque в Python
- Генераторы списков
- Очистка входных данных
- Удаление пробелов методом translate()
- Запрос DELETE с библиотекой requests
- Метод split() в Python
- JMESPath в Python
- Обязательные аргументы в Python
- Сортировка в Python















