Курс 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
- UserList в Python: Описание и примеры использования
- Обработка ошибок в Python
- Преобразование списков в словарь
- Мониторинг работы программы Py-spy
- Подсчет частотности элементов в Python
- Объединение словарей в Python
- Замена символов в строке
- Создание пар из последовательностей
- Открытие, чтение и закрытие файла
- UserString в Python
- Закрытие файла в Python
- Расширение информации об ошибке в Python
- Проверка класса объекта
- Удаление ключа из словаря в Python
- Динамическая типизация в Python
- Замена текста с помощью sub
- Отправка HTTP-запросов с User-Agent
- Хранение переменных в словаре.
- Роль ключевого слова self
- Подсчет элементов в Python
- Таймер обратного отсчета
- Управление контекстом с помощью декоратора contextmanager
- Возведение в квадрат с помощью itertools
- Обработка ошибок в JSON данных
- Переопределение оператора % для объектов
- Доступ к локальным переменным
- Копирование файлов с shutil()
- Метод eq для сравнения объектов
- Счетчик ссылок в Python
- Строки в Python: апострофы и кавычки
- Прокачанный трейсинг ошибок
- Python и Монти Пайтон
- Объединение списков в Python.
- Операции с массивами в NumPy
- Работа с байтовыми строками в Python
- Функция reduce() из модуля functools
- Генераторные функции в Python
- Функции min(), max(), sum()
- Изменяемые и неизменяемые объекты
- Обработка ошибки IndexError
- Работа с NumPy.linalg
- Расчет времени выполнения
- Объединение словарей в Python
- Разделение строки с помощью re.split()
- Аргументы *args и **kwargs















