Курс 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"
- Magic Commands — улучшение работы с Python
- Пустой оператор pass в Python
- Метод __getitem__ в Python
- Шаблоны Flask: условия и циклы
- Работа с комплексными числами
- Создание списка через итерацию
- Операторы увеличения и уменьшения переменной
- Создание генераторов
- Печать календаря в Python
- Декоратор для группы пользователей в Django
- IPython и Jupyter Notebook: руководство
- Декораторы в Python
- Разрешение имен в Python
- Работа с модулем os в Python
- Фильтрация списков с itertools
- Создание спинбокса в tkinter
- Удаление falsy-значений из списка с помощью filter
- Метод join() для объединения элементов строки
- Применение функций в Python
- Названия столбцов в Python таблицах
- Обработка исключений
- Проверка индексов коллекции
- Метод __ilshift__ для битового сдвига влево
- Методы Python для работы с данными
- Обновление и получение данных в SQLite
- Генераторы в Python
- Основные методы NumPy
- Форматирование строк с помощью f-строк
- Комментарии в Python
- Оператор continue в Python
- GitHub в Telegram: подписка на уведомления
- Возврат значений из генератора
- Конкатенация строк с join() в Python
- Область видимости переменных
- Метод splitlines() для разделения строк
- Работа с кортежами в Python
- Работа с дробями в Python
- Импорт в Python: список all
- Разработка Telegram-ботов
- Поиск уникальных и повторяющихся элементов
- Конкатенация списков в Python
- Участие в LP стейкинге Waves
- Оптимизация параметров в Python
- Переворот строки















