Курс 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"
- Метод __ilshift__ для битового сдвига влево
- Создание тестовых данных с Faker
- Упрощение условных выражений с тернарным оператором
- Проверка списка: any() и all()
- Конструктор в Python
- Объединение списков в строку
- Модуль array: создание и использование массивов
- Округление в Python
- Метод __iand__ для пользовательских классов
- Работа с индексами списков
- Работа с функцией next() в Python
- Удаление ссылок в Python
- Отладка утечек памяти в Python
- Конкатенация строк в Python
- Многострочные комментарии в Python
- Использование функции enumerate()
- Методы в Python
- Работа с атрибутом dict
- Работа с YAML в Python
- Форматирование чисел в Python
- Оператор break в Python
- Работа с датой и временем в Python
- Декораторы в Python
- Метод eq для сравнения объектов
- Обработка исключений в Python
- Python Enum Weekday Usage
- SciPy: широкий функционал для математических операций
- Профилирование с Pandas
- Поиск самого частого элемента
- Проверка на палиндром
- Проблема с изменяемыми аргументами
- Асинхронное выполнение задач в процессах
- Сортировка в Python
- Декораторы в Python
- Разделение списка на гнппы
- Нахождение разницы между списками в Python
- Обязательные аргументы в Python
- Retrying в Python: повторные вызовы
- Реализация операции -= для пользовательского класса
- Удаление специальных символов
- Подсчет элементов с помощью Counter из collections
- Копирование словарей и списков в Python
- Обновление и получение данных в SQLite
- Зарезервированные слова в Python
- Функция enumerate() в Python
- Отображение HTML кода в Python
- Поиск наиболее частого элемента















