Курс 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"
- Курс Data Scientist в медицине
- Сортировка в Python
- Сравнение строк в Python
- Получение списка кортежей из словаря
- Создание треугольника Паскаля
- Лямбда-функции в Python
- Математические функции в Python
- Работа с географическими данными в Python
- Python groupby() из itertools: работа с повторяющимися элементами
- Фильтрация последовательности
- Аннотации типов в Python
- Проверка типов с помощью isinstance
- Транспонирование матрицы
- Библиотека schedule: планировщик задач
- Конкатенация строковых литералов
- Названия переменных
- Работа с модулем random
- Возврат нескольких значений из функции
- Списки в Python
- Обработка ошибок ввода данных
- Хранение переменных в словаре.
- Отладка регулярных выражений в Python
- Декораторы в Python
- Очистка входных данных
- Отправка POST запроса на сервер.
- Генерация QR-кодов с библиотекой qrcode
- Именованные аргументы в Python
- Сортировка списка по индексам
- Реверс строки в Python
- Генерация случайных данных в NumPy
- Отображение графиков в Jupyter с Matplotlib
- Капитализация строк
- Работа со строками в Python
- GitHub в Telegram: подписка на уведомления
- Форматирование вывода списков
- Иерархия классов в Python
- Работа с байтовыми строками в Python
- Создание новых списков в Python
- Оператор in для проверки наличия элемента
- Форматирование строк с помощью f-строк
- Именованные кортежи в Python
- Избегайте использования goto
- Работа с YAML в Python
- Группировка элементов Python
- Python: Фильтрация списков с помощью filter()
- Лямбда-функции в Python
- Генератор списка с условием if
- Работа с массивами в Numpy















