Курс 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"
- Настройка вывода NumPy
- Определение индекса элемента списка
- Преобразование текста в речь с Python
- Список импортированных модулей в Python
- Форматирование данных с помощью pprint
- Декораторы в Python
- Оптимизация памяти с помощью __slots__
- Отладка в командной строке
- Работа с кортежами
- Инициализация переменных
- Логирование с Logzero
- Удаление falsy-значений из списка с помощью filter
- Многострочные строки в Python
- Обратное распространение ошибки
- Работа с срезами в Numpy
- Расчет времени выполнения кода
- Обработка исключения UnboundLocalError
- Подсказки при вводе данных в Python
- Метод hash в Python
- Переворот списка в Python
- Применение функции к каждому элементу списка
- Отображение HTML кода в Python
- Python 3.12: Псевдонимы типов
- Создание комплексных чисел
- Получение значений из словарей
- Обновление и получение данных в SQLite
- Объединение множеств в Python
- Логический оператор «and» в Python
- Работа с асинхронными задачами в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Оператор Walrus в Python 3.8
- Объявление переменных в Python
- Создание namedtuple из словаря
- Форматирование даты с strftime()
- CSV строка разделение в Python
- Форматирование строк в Python.
- Удаление и повторная вставка ключа в OrderedDict
- Antigravity модуль
- Импортирование в Python
- Оператор assert в Python
- Принципы SRP и OCP
- Красивый вывод списка
- Сложение матриц в NumPy
- Настройка вывода в Numpy
- Измерение времени выполнения с помощью time
- Работа с *args и **kwargs в Python
- Блок else в циклах Python
- Запуск внешних программ с subprocess















