Курс 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"
- Очистка списка от False, None, 0, «»
- Распаковка с оператором *
- Метод init в Python
- Переопределение метода __or__()
- Атрибуты массивов в Numpy
- Пропуск строк в файле с itertools
- Объединение словарей в Python
- Генерация случайных чисел Python
- Поиск уникальных элементов строкой в Python
- Обработка аргументов Python
- Приоритет операций в Python
- Асинхронный код в Python
- Копирование списков в Python
- Бинарный поиск
- Операторы увеличения и уменьшения переменной
- Создание класса в Python
- Удаление файлов и папок в Python
- Функция reduce() из модуля functools
- Списковое включение в Python
- Глубокое копирование объектов
- inspect в Python: анализ кода
- Создание итератора
- Строковое представление объектов
- Проверка вхождения подстроки
- Проверка существования переменной с оператором :=
- Проверка типов с использованием isinstance
- Функция map() в Python
- Функции any() и all() в Python
- Переворот строки
- Метод enumerate() в Python
- Метод ior для битовых операций
- Логирование с Logzero
- Создание словаря с значением по умолчанию
- Создание лямбда-функций
- Декораторы в Python
- Частичное совпадение ввода
- Метод get() для словарей
- Декоратор total_ordering для класса Point
- Работа с географическими данными.
- Модуль functools в Python
- Метод __irshift__ для Python
- Создание таблиц в терминале с PrettyTable
- Тестирование функции сложения
- Анализ кода — Python
- Создание вложенных циклов for















