Курс 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
- Оператор «and» в Python
- Переименование файлов в Python
- Поиск подстроки в строке
- Сравнение строк в Python
- Обработка ошибок в Python
- Цикл for в Python
- Создание словарей с defaultdict
- Python: отличительная особенность — отступы
- Декораторы в Python
- Проекты на Python
- Создание копии итератора
- Удаление символов новой строки в Python.
- Переворот строки
- Метод difference_update() — разность множеств
- Преобразование строк в числа в Python
- Функция product() в Python
- Объединение кортежей в Python
- Оптимизация памяти в Python
- Возврат нескольких значений из функции
- Асинхронное программирование с asyncio
- Проверка на истинность объектов в Python
- Деление в Python
- Официальный канал Python в Telegram
- Руководство по Pymorphy2
- Конкатенация строк в Python
- Работа с кортежами
- Обновление ключей в Python
- Метод gt в Python
- Функции с дополнением
- Экспорт функций в Python
- Блок else в циклах Python
- Удаление элементов из списка
- JMESPath в Python
- Преобразование данных в Python
- Класс-оболочка для словарей
- Изменение объектов в Python
- Установка и использование pyshorteners
- Копирование словарей и списков в Python
- Инверсия списка/строки в Python
- Множественное наследование в Python
- Объединение списков в строку
- Перебор элементов списка в Python
- Получение ID процесса
- Методы split() и join() — Python строк.
- Библиотека Rich: форматирование текста
- Метод join() для объединения элементов
- Фильтрация списка от «ложных» значений















