Курс 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
- Скрытие вывода данных
- Методы HTTP запросов в Flask
- None в Python: использование и особенности
- Python union() функция — объединение множеств
- Операторы += в Python
- Работа с deque из collections
- Python Translator: создание локальных переводчиков
- Замена атрибута в именованном кортеже
- Проверка однородности элементов списка
- Преобразование чисел в Python
- Метод join() для объединения элементов в строку.
- Оператор умножения для вектора
- Описание скриптов в README
- Работа с прокси в Python
- Именование столбцов в Python с pandas
- Функции map() и reduce() в Python
- Чтение и запись TOML-конфигов
- Поиск кода
- Именованные кортежи в Python
- Мощь вложенных функций в Python
- Использование обратной косой черты в f-строках
- Строки в Python: апострофы и кавычки
- Построение графиков в Matplotlib
- Реверс строки в Python
- Измерение времени выполнения кода в Python
- Профилирование с cProfile
- Основы работы со строками в Python
- Функциональное программирование.
- Работа с набором данных CIFAR10 в PyTorch
- Создание списка через цикл
- Работа с enumerate()
- Управление браузером с Selenium
- Форматирование данных с помощью pprint
- Операции с матрицами в Python
- Протокол управления контекстом
- Объединение словарей в Python
- Работа с NumPy
- Удаление falsy-значений из списка с помощью filter
- Аннотации типов в Python
- Преобразование объекта в строку
- Работа с датами в Python
- Освоение Python















