Курс 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"
- Создание обратного итератора
- Распаковка значений в Python
- Безопасные SQL-запросы в Python 3.11
- Передача аргументов в Python
- Импорт с альтернативным именем
- Enum в Python
- Форматирование данных с pprint
- Хранение данных
- Подсчет частотности элементов в Python
- Оператор continue в Python
- Реверс строки в Python
- Многопроцессорное программирование в Python
- Создание файла с проверкой ошибки
- Однострочники Python
- Bootle — простой веб-фреймворк
- Python Translator: создание локальных переводчиков
- Анонимные функции Lambda
- Именованные кортежи в Python
- Запуск внешних программ с subprocess
- Область видимости переменных
- Python: динамическая типизация и проверка типов
- Избегайте использования goto
- Установка и использование Python-dateutil
- Функция zip() в Python
- Раздувающийся словарь в Python
- Измерение времени выполнения кода
- Проверка однородности элементов списка
- Использование модуля __future__
- Подсчет элементов в Python
- Конкатенация строк в Python
- Непрерывная проверка в Python
- Просмотр атрибутов и методов класса
- Лямбда-функции в Python
- Метод splitlines() для разделения строк
- Установка и использование модуля «howdoi»
- Контроль точности вывода чисел
- Python Тесты и Гайды
- Аннотации типов в Python
- Векторизация в Python с NumPy.
- Цикл for в Python
- Отправка POST запроса на сервер.
- Применение функции map() в Python
- Очистка строки в Python
- Срезы в Python
- Комментарии в Python
- Установка User-Agent в Python
- Функция map() в Python















