Курс 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"
- OrderedDict — упорядоченный словарь
- Поиск индексов в списке
- Генератор надежных паролей
- Транспонирование матрицы
- Векторизация в Python с NumPy.
- Операторы += в Python
- Создание объекта времени
- Изменение объектов в Python
- Определение объема памяти объекта
- Пространство имен в Python
- Проверка условий в Python
- Удаление ресурса в Python
- Методы и функции в Python
- Запуск асинхронной корутины
- Создание словарей в Python
- Модуль xkcd: загрузка комиксов
- Аргумент по умолчанию
- Распаковка аргументов в Python
- Обучение модели с указанием эпох
- Counter() — подсчет элементов
- Различия символов в Python
- Работа с итераторами через срезы
- Основы работы с базами данных в Python
- Построение графиков в терминале с bashplotlib
- Измерение времени выполнения кода с помощью time
- Округление банкира в Python
- Динамическая типизация в Python
- Блок try-except-else
- Лимиты на ресурсы Python
- Область видимости переменных
- Измерение времени выполнения кода
- Работа с массивами в Numpy
- Подписка на каналы разработчиков
- Оценка выражений генератора в Python
- Изменение элемента списка
- Хэш-функции и метод цепочек
- TypedDict для kwargs в Python 3.12
- Сложные типы данных в Python
- Использование обратной косой черты в f-строках
- Определение локальных переменных в Python
- Преобразование PowerPoint в PDF.
- Retrying в Python: повторные вызовы
- Работа с YAML в Python















