Курс 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"
- Преобразование вложенного списка
- Очистка строки в Python
- Особенности ключей словаря в Python
- Аннотации типов в Python
- Использование defaultdict в Python
- Проверка кортежей.
- Метод Self в Python
- Установка и использование Python-dateutil
- Получение срезов итераторов
- Работа с кортежами в Python
- Установка и загрузка Instaloader
- Функция reversed() в Python
- Использование type hints
- Переопределение оператора % для объектов
- Округление дробей в Python
- Многоточие в Python
- Работа со временем в Python
- Конвертация текстовых чисел с помощью Numerizer
- Конкатенация строковых литералов
- Профилирование данных с Pandas.
- Конкатенация строк с join() в Python
- Добавление элементов в список: append() vs extend()
- Определение относительного пути
- Декораторы в Python
- Создание словаря и множества
- Скачать видео с YouTube
- Создание новых списков в Python
- Исключение NotImplementedError
- Парсинг веб-страниц с Beautiful Soup
- Работа с CSV файлами в Python
- Модуль antigravity: генерация координат
- Создание новых списков через list comprehensions
- Работа с NumPy массивами
- Работа с argparse
- Работа с Requests для HTTP-запросов
- Операции с массивами в NumPy
- Генераторы и сеты в Python
- Работа с дробями в Python
- Оператор in и not in в Python
- Модуль math: константы π и e
- Colorama: окрашивание текста в Python
- Заказ карты Тинькофф Black
- Генерация случайных чисел в Python
- Функции map, filter и reduce
- Нахождение отличий в списках
- Нан-рефлексивность в Python















