Курс 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
- Метод matmul для умножения матриц
- Метод init в Python
- Списки в Python: основы
- Эффективная конкатенация строк с использованием join()
- Работа с библиотекой xkcd
- Список и кортеж в Python
- Фильтрация элементов с помощью islice
- Вакансии в Nebius
- Делегирование в Python
- Модуль xkcd: добавление юмора в Python
- Логирование с Loguru
- Основные методы NumPy
- Аннотации типов в Python
- Асинхронный код в Python
- Получение текущего времени в Python
- Использование defaultdict в Python
- Вычисление фазы комплексного числа
- Принципы Zen of Python
- Многострочные комментарии в Python
- Управление виртуальными окружениями в Python
- Pillow: работа с изображениями
- Перевод текста с Python Translator
- Работа со строками в Python
- Создание .exe файла с pyinstaller
- Модуль array: создание и использование массивов
- Отображение графиков в Jupyter с Matplotlib
- Методы HTTP запросов в Flask
- Метод rsub для пользовательских чисел
- Официальный канал Python в Telegram
- Python: библиотеки и функции
- Создание виртуальной среды
- Работа с модулем glob в Python
- Concrete Paths — метод .with_suffix()
- Перемешивание списка с shuffle()
- Частичное применение функций в Python
- Метод difference_update() — разность множеств
- Тайное преобразование типа ключа
- Форматирование строк с f-строками
- Метод join() для объединения строк
- Модуль subprocess: запуск внешних команд
- Явный импорт переменных
- Удаление элементов из списка в Python















