Курс 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
- Defaultdict в Python
- Переопределение метода sub
- Форматирование строк в Python
- Операции с массивами в NumPy
- Декораторы в Python
- Декоратор Ajax required
- Подписка на SelectelNews в Twitter
- Работа с контекстными переменными
- Сравнение строк в Python
- Обновление данных через PUT запрос
- Измерение времени выполнения в Python
- Установка и загрузка Instaloader
- Обход элементов в Python
- Метод rmatmul для обратного матричного умножения
- Метод Self в Python
- Функция rsplit() в Python
- Работа со случайными элементами
- Объединение объектов в Python
- Преобразование чисел в восьмеричную строку
- Отладка в командной строке
- Генераторные функции в Python
- Модуль xkcd: загрузка комиксов
- Объединение итераторов
- OrderedDict — упорядоченный словарь
- Оператор «not» в Python
- Наиболее частотные элементы с помощью Counter
- Безопасный доступ к значениям словаря
- Избегайте изменяемых аргументов
- Обрезка изображения с Pillow
- Декоратор @override
- Работа с набором данных CIFAR10 в PyTorch
- Библиотека funcy: удобные утилиты
- Обмен значений переменных в Python
- Использование defaultdict в Python
- Python reversed() функция
- Combobox в Tkinter
- Прокачанный трейсинг ошибок
- Управление экспортом элементов
- Метод matmul для умножения матриц
- Измерение времени выполнения кода
- Работа с прокси в Python
- Поиск шаблона в строке
- Форматирование строк в Python
- Локальные переменные.
- Преобразование данных в Python
- Настройка нарезки списков
- Форматирование строк в Python















