Курс 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
- Генератор бросков кубиков
- Ограничение ресурсов в Python
- Исправление ошибки NameError
- Функция enumerate() в Python
- Метод classmethod
- Профилирование данных с Pandas
- Обработка исключений в Python
- Декоратор защиты анонимных пользователей
- Списки в Python: синтаксис представления
- Оператор == в Python
- Замена текста с re.sub()
- Работа с контекстными менеджерами
- Python enumerate() для работы с индексами
- Установка и использование Python-dateutil
- Очистка вывода в Python
- Управление сессиями в Python
- Оператор is в Python
- Введение в Python
- Обработка элементов в Python
- Конкатенация строк с join() в Python
- Возврат нескольких значений из функции
- Работа с collections в Python.
- Метод count() для списков
- Списковые включения в Python
- Сравнение строк в Python
- Объединение списков в Python
- JSON-esque в Python
- Обновление множества в Python
- Генераторные функции в Python
- Преобразование в float
- Создание новых функций с помощью functools.partial
- Работа со временем в Python
- Группировка элементов Python
- Транспонирование матрицы
- Операции с матрицами в Python
- Многоточие в Python
- Декораторы в Python
- Применение команды break
- Декоратор total_ordering для сравнения объектов
- Big O оптимизация
- Функция print() — вывод информации
- Поиск индексов подстроки
- Нахождение максимального значения и его индекса в списке
- Переопределение метода divmod















