Курс Python → Декораторы в Python
Декораторы в Python позволяют добавлять дополнительное поведение к уже существующим функциям, не изменяя их основной логики. Это особенно удобно, когда нужно добавить однотипное действие к нескольким функциям или когда требуется выполнить какие-то действия до и после вызова функции.
Примером может служить декоратор, который замеряет время выполнения функции. Для создания декоратора в Python используется синтаксис с символом @. Например, декоратор, который выводит время выполнения функции, может выглядеть следующим образом:
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Время выполнения функции {func.__name__}: {end_time - start_time} секунд")
return result
return wrapper
@timer
def some_function():
# код функции
В данном примере декоратор timer измеряет время выполнения функции some_function и выводит результат на экран. При вызове функции some_function сначала будет выведено время выполнения, а затем будет выполнен основной код функции.
Помимо замера времени выполнения, с помощью декораторов можно реализовать множество других дополнительных функций, таких как логирование, кеширование, валидация параметров и многое другое. Использование декораторов делает код более чистым, модульным и понятным, так как каждая функция отвечает только за свою основную задачу, а дополнительное поведение вынесено в отдельные декораторы.
Таким образом, использование декораторов в Python позволяет значительно упростить и улучшить структуру кода, делая его более гибким и поддерживаемым. Рекомендуется ознакомиться с различными примерами использования декораторов и экспериментировать с ними для более глубокого понимания их работы.
Другие уроки курса "Python"
- Игра «Угадывание чисел»
- Замыкания в Python
- Сортировка и обратный порядок
- Оператор break в Python
- Модуль inspect: получение информации о объектах
- JSON-esque в Python
- Сортировка в Python
- Python Translator: создание локальных переводчиков
- Работа со списками
- Удаление символа из строки
- Определение объема памяти объекта
- Удаление ключей из словаря
- Копирование словарей и списков в Python
- Оператор continue в Python
- Проверка вхождения подстроки
- Преобразование чисел в восьмеричную строку
- Основные функции и модули Python
- Метод lt для сортировки объектов
- Работа с модулем random
- Переопределение метода
- Numpy: разбиение массивов
- Работа с аргументами командной строки в Python
- Просмотр внешнего файла в Python
- Оптимизация параметров в Python
- Многострочные строки в Python
- Нахождение пересечения множеств
- Генераторы данных
- Работа со временем в Python
- Встраивание HTML в Jupyter Notebook
- Подробная информация о %pinfo
- Получение срезов итераторов
- Python Метод sleep() времени
- Получение текущей даты в Python
- Чтение и запись TOML-конфигов
- Сортировка данных в Python
- Проверка наличия элемента в списке
- Antigravity модуль
- Работа со случайными элементами
- Генератор данных в Keras
- Инициализация структур данных
- Операторы += в Python
- Мониторинг работы программы Py-spy
- Извлечение аудио из видео
- Метод join() для объединения строк
- Функция zip() в Python
- Управление контекстом выполнения















