Курс 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"
- List Comprehension Tutorial
- Списковый компрехеншен.
- Подсказки типов в Python
- Построение графиков в терминале с bashplotlib
- Создание и обучение модели с Keras
- Считывание бинарного файла в Python
- Работа со строками в Python
- Оптимизация параметров в Python
- Возведение в квадрат с помощью itertools
- Умножение строк и списков
- Обучение модели с указанием эпох
- Инверсия списка и строки в Python
- Классы данных в Python
- Создание новых списков
- Компиляция регулярных выражений
- Распаковка значений в Python
- Асинхронное программирование с asyncio
- Использование функции enumerate()
- Непрерывная проверка в Python
- Регулярные выражения в Python
- Python enumerate() использование
- Деление в Python
- Область видимости переменных
- Конкатенация строковых литералов
- Инвертирование словаря
- Работа с итераторами через срезы
- Создание коллекций из генератора
- Создание списков в Python
- Отображение HTML кода в Python
- Работа с Colorama
- Работа с URL-адресами в Python
- Комментарии в Python
- Методы shutil для работы с файлами
- Howdoi — получение ответов из терминала
- Получение имени функции с помощью inspect
- Печать месячного календаря
- Именованные срезы в Python
- Измерение времени выполнения кода
- Генерация ключей RSA
- Python defaultdict добавление ключа
- Удаление файлов с shutil.os.remove()
- Вывод символов строки в Python















