Курс 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"
- Импорт классов из другого файла
- Умножение строк и списков
- Поиск с помощью регулярных выражений
- CLI-инструмент howdoi
- Оператор in и not in в Python
- Работа с набором данных CIFAR10 в PyTorch
- Избегайте использования goto
- Создание списков в Python
- Управление памятью в numpy.
- Копирование списков в Python
- Создание веб-приложения с Flask
- Объединение словарей в Python
- Создание словарей и множеств в Python.
- Получение ID текущего процесса
- Многострочные комментарии в Python
- Функции в Python
- Создание пользовательской коллекции в Python
- Numpy: разбиение массивов
- Генераторы в Python
- Доступ к локальным переменным
- Избегание изменяемых аргументов
- JMESPath в Python
- Операторы увеличения и уменьшения в Python
- Метод join для наборов
- Множественные конструкторы в Python
- Python Метод sleep() времени
- Определение имен функций
- Работа с zip()
- Передача аргументов через **arguments
- Склеивание строк без циклов
- Красивый вывод списка
- Извлечение аудио из видео
- Векторизация в Python с NumPy.
- Генераторы данных
- Декораторы с аргументами в Python
- Статическая типизация в Python
- Отладка утечек памяти в Python
- Отладка регулярных выражений в Python
- Поиск уникальных элементов строкой в Python
- Перегрузка операторов в Python
- Создание словарей в Python
- Описание скриптов в README
- Методы split() и join() — Python строк.
- Сравнение def и lambda функций в Python
- Основные методы NumPy
- Функции в одну строку















