Курс 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 таблицах
- Функция rsplit() в Python
- Обход словаря в Python
- Библиотека wikipedia для Python
- Создание треугольника Паскаля
- Переопределение метода __eq__
- Python: динамическая типизация и проверка типов
- Работа с кортежами в Python
- Поток данных в Python
- Асинхронный код в Python
- Профилирование с cProfile
- Округление чисел с помощью round
- Операция += для списков
- Динамические маршруты во Flask
- Проектирование Singleton с метаклассом
- Удаление элемента из списка в Python
- Принципы программирования
- Определение основы слова с showballstemmer
- Перебор элементов списка в Python
- Вычисление логарифмов в Python
- Транспонирование 2D-массива с помощью zip
- Анализ текста на русском языке с помощью Pymystem3
- Извлечение новостей с newspaper3k
- Транспонирование 2D-массива с помощью zip
- Декоратор total_ordering для сравнения объектов
- Управление контекстом с помощью декоратора contextmanager
- Генераторы в Python
- Избегайте изменяемых аргументов
- Работа с срезами в Numpy
- Потоковый ввод в Python
- Переменные класса и экземпляра
- Группировка элементов в словарь
- Экспорт внешнего файла с помощью writefile
- Работа со строками в Python.
- Перемешивание списка с shuffle()
- Создание матрицы в Python
- Фильтрация входных данных в Python
- Операторы увеличения и уменьшения переменной
- Разработка Telegram-ботов
- Аргумент по умолчанию
- Лямбда-функции для min/max
- Генерация QR-кодов с библиотекой qrcode
- Управление контекстом выполнения кода
- Оператор continue в Python
- Решение переменной Шредингера
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Создание пустых функций и классов в Python















