Курс 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
- Фильтрация элементов с помощью islice
- Названия столбцов в Python таблицах
- Defaultdict в Python
- Ускорение выполнения кода в Python
- Работа с изображениями PIL
- Изменение переменной в Python: nonlocal
- Изменяемые и неизменяемые объекты
- Lambda Functions in Python
- Деление в Python
- Установка и использование emoji
- Присвоение значений переменным в Python
- Отладка утечек памяти в Python
- Команда %dhist — список посещенных каталогов
- Функция all() в Python
- Основные операции с библиотекой Numpy
- Оператор обр. импликации
- Декораторы в Python
- Основы работы с базами данных в Python
- Использование html-скриптов в Jupyter Notebook
- Замена символов в строке
- Генераторы и сеты в Python
- Профилирование с cProfile
- Прокачанный трейсинг ошибок
- Подсчет элементов в списке с Counter
- Кортежи в Python: особенности и преимущества
- Получение имени функции с помощью inspect
- Тестирование времени с Freezegun
- Оператор match в Python
- Гибкие функции Python
- Создание GUI с Tkinter: Entry
- Обработка ошибок в JSON данных
- Генераторы в Python
- Переопределение метода delitem в Python
- Цикл for в Python
- Работа с collections.Counter
- Аннотации типов в Python
- Блок try…finally в Python
- Поиск самого длинного слова в списке с использованием max()
- Работа со временем в Python
- Методы обработки строк в Python
- Работа с аргументами командной строки
- Обновление данных через PUT запрос
- Оптимизация памяти с slots
- Работа со строками в Python
- Функции в Python















