Курс 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: создание, доступ, изменение
- Изменение переменной в Python: nonlocal
- Создание .exe файла с pyinstaller
- Освобождение памяти в Python
- Работа с прокси в Python
- Очистка данных с Pandas
- Асинхронное выполнение задач в Python
- Работа с переменными в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Вывод с переменной через запятую
- Метод ipow для возведения в степень
- Удаление ключей из словаря
- Генераторы данных
- Python Translator: создание локальных переводчиков
- Измерение времени выполнения
- Метод get для словарей
- Установка Home Assistant
- Оператор морж в Python 3.8
- Игра Виселица на Python
- f-строки в формате строк
- Однострочники Python
- Метод join() для объединения элементов в строку.
- Участие в LP стейкинге Waves
- Методы работы со списками
- Доступ к локальным переменным
- Объединение списков в Python
- Метод difference_update() — разность множеств
- Искажение имен в Python
- Преобразование списка в словарь через генератор
- Применение функции map() с лямбда-функциями
- Измерение времени выполнения с помощью time
- Настройка вывода в Numpy
- Преобразование Word в PDF с Spire.Doc
- Преобразование списков в словарь
- Изучение объектов с помощью dir()
- Работа с библиотекой xkcd
- Измерение времени выполнения кода
- Отношения подклассов в Python
- Отладка в командной строке
- Возведение в квадрат с помощью itertools
- Рациональные числа в Python
- Поиск элементов BeautifulSoup
- Тернарный оператор в Python
- Игра «Виселица» на Python















