Курс 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"
- Функция enumerate в Python
- Логирование с Logzero
- Замена атрибута в именованном кортеже
- Dict Comprehension в Python
- Декораторы в Python
- Вывод сложных структур данных с помощью pprint
- Создание словарей с defaultdict
- Логирование с Loguru
- Обход словаря в Python
- Сортировка с параметром key
- Управление виртуальными средами в Python
- Работа с файлами в Python
- Логирование с Logzero
- Делегирование в Python
- Создание новых списков через list comprehensions
- Печать месячного календаря
- Названия столбцов в Python таблицах
- Фильтрация элементов с помощью islice
- Определение объема памяти объекта
- Группы исключений в Python
- Управление доступом к модулю
- Экспорт функций в Python
- Логирование с Logzero
- Просмотр внешнего файла в Python
- Проверка подстроки в строке
- Модуль itertools: эффективная работа с итераторами
- Очистка данных с помощью pandas
- Объявление переменных в Python
- Конкатенация списков в Python
- Методы HTTP запросов в Flask
- Установка и использование Logzero
- ChainMap.new_child() — добавление нового словаря
- Сортировка и обратный порядок
- Работа с коллекциями Python
- Хранение данных
- Создание коллекций из генератора
- Непрерывная проверка в Python
- Структура строк в Python
- Манипуляция формой массива в Numpy
- Генераторы данных
- Работа со строками в Python.
- Работа со словарями в Python
- Работа со строками
- Генерация чисел с range()
- Работа с контекстными менеджерами
- Лямбда-функции в Python
- Методы сравнения множеств















