Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.
Для создания декоратора в 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"
- Вставка переменных в шаблоны Flask
- Тайное преобразование типа ключа
- Оператор морж в Python 3.8
- Работа со строками
- Установка и использование howdoi
- Принципы SRP и OCP
- Создание словарей с defaultdict()
- Разделение строки в Python
- Функция reduce() из модуля functools
- Тернарный оператор в Python
- Основные функции и модули Python
- Определение размера папок в Python
- Обход элементов в Python
- Модуль sys: основы
- Поток данных в Python
- Замена атрибута в именованном кортеже
- Удаление дубликатов из списка
- Метод invert для побитового отрицания
- Стать Python-разработчиком
- Объединение списков в Python
- Конвертация текстовых чисел с помощью Numerizer
- Сложные типы данных в Python
- Новшества Flask 2.0
- Получение обратного списка чисел
- Ускорение обработки данных с %autoawait
- Профилирование данных с Pandas.
- Метод __iand__ для пользовательских классов
- Оператор is в Python
- Разделение строк методом split()
- Форматирование данных с помощью pprint
- Метод join() для объединения элементов
- Контекстный менеджер в Python
- Дизассемблирование Python кода
- Секреты Python
- Сортировка с помощью параметра key
- Хранение данных
- Отношения подклассов в Python
- Многострочные комментарии в Python
- Генераторные выражения и islice.
- Создание коллекций из выражения-генератора
- Профилирование с cProfile
- Обработка исключений
- Исключение NotImplementedError
- Декораторы в Python















