Курс 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"
- Метод __iand__ для пользовательских классов
- Генераторы в Python
- Список переменных с %who
- Работа с CSV файлами в Python
- Оператор == в Python
- Создание списка дат
- Мониторинг работы программы Py-spy
- Создание коллекций из генератора
- Создание копии списка в Python
- Метод ifloordiv для пользовательских классов
- Работа с Colorama
- Проекты на Python
- Python Тесты и Гайды
- Уникальные значения из списка
- Разбиение строки в Python
- Удаление дубликатов из списка
- Проверка строки на палиндром
- Сравнение строк в Python
- Создание новых функций с помощью functools.partial
- Метод enumerate() в Python
- Функция enumerate() в Python
- Оператор is в Python
- Проверка типа данных
- Конвертация коллекций в Python.
- Стать Python-разработчиком
- Разделение строк в Python
- Анонимные функции Lambda
- Чтение и запись TOML-конфигов
- Сравнение def и lambda в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Модуль xkcd: добавление юмора в Python
- Работа со словарями Python
- Метод join() для объединения элементов в строку.
- Работа с IP-адресами в Python
- Работа с изменяемыми коллекциями
- Проверка подстроки в строке
- Руководство по библиотеке pydantic
- Форматирование строк в Python
- Отладка утечек памяти в Python
- Отправка POST запроса на сервер.
- JSON в Python: модуль, dump, dumps, load
- Конкатенация строк с join() в Python
- Обработка аргументов Python
- Перегрузка операторов в Python
- Удаление URL-адресов в Python
- Генераторы в Python
- Combobox в Tkinter
- Множественное присваивание в Python















