Курс 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"
- Логирование с Logzero
- Проверка памяти объекта
- Применение промокода в Много лосося
- Нахождение максимального значения и его индекса в списке
- Игра «Камень, ножницы, бумага» — Python
- Сортировка HTML-элементов
- Работа со строками в Python
- Правила именования переменных
- Любовь к Python
- Работа с YAML в Python: PyYAML.
- Работа с CSV файлами в Python
- Удаление символа из строки
- Python reversed() vs срез[::-1]
- Сериализация данных в JSON с помощью json.dumps
- Работа со словарями с defaultdict из collections
- Особенности множеств в Python
- История Python
- Оператор «not» в Python
- Функциональное программирование в Python
- Lambda Functions in Python
- Проверка подстроки в строке
- Создание OrderedDict
- Метод join() для объединения строк
- Ограничение итераций в Python
- Добавление вложенных списков
- Удаление символов новой строки в Python.
- Запуск асинхронной корутины
- Вычисление разности множеств в Python
- Операции с кортежами
- Pillow: работа с изображениями
- Проверка на истинность объектов в Python
- Создание таблиц в терминале с PrettyTable
- Классы данных в Python
- Удаление файлов в Python
- Циклы в Python
- Экспорт данных в файл.
- Генераторы в Python
- Возвращение нескольких значений через кортеж или класс
- Обработка исключения UnboundLocalError
- Объединение словарей в Python
- GitHub в Telegram: подписка на уведомления
- Команда %dhist — список посещенных каталогов
- Преобразование Word в PDF с Spire.Doc
- Тайное преобразование типа ключа
- Нахождение хеша для бесконечности и NaN в Python
- Именованные аргументы в Python
- Форматирование строк в Python















