Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет разработчику улучшить функциональность существующих объектов, не изменяя их исходного кода. Идея декораторов заключается в том, что они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Таким образом, декораторы позволяют нам добавлять новую логику к существующим функциям, не изменяя их саму реализацию.
Для определения собственных декораторов в Python мы можем использовать синтаксис @decorator_func, где decorator_func — это функция-декоратор. Мы также можем использовать встроенные декораторы, которые предоставляются языком Python, такие как @staticmethod для создания статических методов в классах. Статические методы не привязаны к экземпляру или классу, а просто логически принадлежат к классу.
Пример использования декораторов в 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
- Прокачанный трейсинг ошибок
- Функции map, filter, reduce
- Форматирование строк с помощью f-строк
- Импорт модуля из другого каталога
- Декораторы с @wraps
- Ключевое слово global в Python
- Получение текущей директории
- Подсказки типов в Python
- lru_cache оптимизация функций
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Комментарии в Python
- Оператор морж в Python 3.8
- Преобразование чисел в слова
- Определение функций с необязательными аргументами
- Форматирование кода на Python
- Сравнение строк в Python
- Оператор «is not» в Python
- Форматирование строк в Python
- Генерация QR-кодов с библиотекой qrcode
- Python union() функция — объединение множеств
- Атрибуты класса и экземпляра
- Функция rsplit() в Python
- Работа со строками
- Удаление дубликатов из списка
- Подписка на Kaspersky Team
- Цепные операции в Python
- Идентификатор объекта в Python
- Функции в одну строку
- Переопределение оператора % для объектов
- Распаковка элементов массива
- Делегирование в Python
- Преобразование документов в PDF с помощью Spire.Office
- Обработка элементов в Python
- Расчет времени выполнения
- Принципы Zen of Python
- Создание детектора плагиата
- Красивый вывод списка
- Работа с эмодзи в Python
- Метод ifloordiv для пользовательских классов
- Установка переменной среды в Python
- Сглаживание списка
- Декораторы в Python
- Применение функции map() в Python















