Курс 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
- Создание таблиц в Python с PrettyTable
- Применение функции к каждому элементу списка
- Безопасные SQL-запросы в Python 3.11
- Основы Python
- Область видимости переменных
- Замена атрибута в именованном кортеже
- Выражения-генераторы в Python
- Установка и использование модуля Wikipedia
- Метод join() для объединения элементов в строку.
- Конвертация коллекций в Python
- Работа со стеком в Python
- Модуль subprocess: запуск внешних команд
- Типы возвращаемых значений в Python
- Оптимизация памяти в Python
- Изучение объектов с помощью dir()
- Сортировка данных в Python
- Concrete Paths в Python
- Нахождение хеша для бесконечности и NaN в Python
- Область видимости переменных в Python
- Отправка поздравлений по дню рождения
- Фильтрация списка чисел
- Инициализация объекта
- Замена элементов в списке с помощью генераторов списков
- Библиотека funcy: удобные утилиты
- Проверка элементов списка условием
- Хеши в Python
- Метод __ixor__ для побитового исключающего ИЛИ
- Быстрый поиск кода
- Измерение времени выполнения кода
- Работа с модулем glob в Python
- Генерация случайных данных в NumPy
- Распаковка аргументов в Python
- Функция enumerate в Python
- Частичное совпадение ввода
- Искажение имен в Python
- Метод __imod__ для Python
- Подробная информация о %pinfo
- Сортировка HTML по CSS-селектору















