Курс 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
- Запуск внешних программ с subprocess
- Область видимости переменных
- Импорт с альтернативным именем
- Сериализация и десериализация объектов
- Форматирование вывода с F-строками
- Работа с GitHub в Telegram
- Подсчет элементов с помощью Counter из collections
- Область видимости переменных
- Область видимости переменных
- Функция enumerate в Python
- Отладка производительности Python
- Структура строк в Python
- Метод __float__ в Python
- Добавление элемента в список.
- Извлечение аудио из видео
- Получение текущей даты и времени
- Методы Python для работы с данными
- Управление пакетами с pip
- Метод getitem для доступа к элементам последовательности
- Операторы Splat и splatty-splat
- Проверка файла .py на синтаксис.
- Настройка нарезки списков
- Генераторы и сеты в Python
- Создание словаря с значением по умолчанию
- Модуль antigravity: генерация координат
- Сортировка слиянием
- Нахождение пересечения множеств
- Создание директории в Python
- Асинхронное программирование с asyncio
- Работа со списками
- Лямбда-функции в Python
- Вычисление натурального логарифма в NumPy
- Названия столбцов в Python таблицах
- Аргумент по умолчанию
- Применение команды break
- Сравнение def и lambda-функций
- Счетчик в Python: most_common()
- Работа с каталогами в Python
- Метод join() для объединения элементов строки
- Непрерывная проверка в Python
- Определение имен функций
- Создание новых списков через list comprehensions
- Профилирование с cProfile
- Декораторы в Python
- Получение ID процесса















