Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет модифицировать поведение функций без изменения их кода. Они представляют собой функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию. Это позволяет добавлять дополнительный код до и после выполнения целевой функции, а также изменять ее параметры и возвращаемое значение.
Для создания декоратора в Python необходимо определить функцию, которая принимает целевую функцию в качестве аргумента. Внутри этой функции можно определить любую логику, которая будет выполняться до и после вызова целевой функции. Затем необходимо вернуть новую функцию, которая будет заменять исходную функцию при применении декоратора.
def my_decorator(func):
def wrapper():
print("Дополнительный код до выполнения функции")
func()
print("Дополнительный код после выполнения функции")
return wrapper
@my_decorator
def my_function():
print("Основной код функции")
В данном примере мы создаем декоратор my_decorator, который выводит сообщения до и после выполнения функции my_function. При применении декоратора с помощью синтаксиса @my_decorator, вызов функции my_function будет автоматически заменен на вызов функции my_decorator(my_function), изменяя ее поведение.
Использование декораторов позволяет улучшить читаемость и поддерживаемость кода, разделяя логику функций от дополнительной функциональности. Они также позволяют повторно использовать код и упрощают внесение изменений в функциональность программы.
Другие уроки курса "Python"
- Анонимные функции Lambda
- Работа с YAML в Python
- Структуры данных в Python
- Замена подстроки
- Итераторы с потерямиZIP
- Преобразование типов данных в set comprehension
- Работа с zip()
- Команда %dhist — список посещенных каталогов
- Python groupby() из itertools: работа с повторяющимися элементами
- Получение текущей даты и времени
- Проверка на палиндром
- Работа со стеком в Python
- Создание вложенного генератора
- Переопределение оператора % для объектов
- Избегайте ошибку FileNotFoundError
- Управление импортом в Python
- Сортировка и обратный порядок
- Генерация строк с .join()
- Разбиение строки в Python
- Тернарный оператор в Python
- Разделение строки с помощью re.split()
- Класс-оболочка для словарей
- Метод splitlines() для разделения строк
- Возврат нескольких значений из функции
- Равенство и идентичность в Python
- Работа со словарями с defaultdict из collections
- Python Метод Union Множеств
- Анонимные функции в Python
- Основы Python
- Форматирование строк в Python
- Блок try-except-else
- Установка и использование howdoi
- Работа со строками в Python
- Импорт классов из другого файла
- Создание и операции с дробями
- Переименование файлов в Python
- Объединение списков в Python.
- Получение срезов итераторов
- Преобразование в float
- Атрибуты класса и экземпляра
- Распаковка элементов последовательности
- Представление бесконечности в Python
- Python UserString — создание подклассов строк
- Python reversed() vs срез[::-1]
- Нахождение отличий в списках















