Курс 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"Time taken: {end_time - start_time} seconds")
return result
return wrapper
@timer
def some_function():
# Код функции
В этом примере декоратор timer измеряет время выполнения функции some_function и выводит его на экран. Декоратор принимает функцию в качестве аргумента, создает внутреннюю функцию-обертку, которая заменяет вызываемую функцию и возвращает результат выполнения исходной функции.
Использование декораторов позволяет улучшить читаемость кода, избежать дублирования кода и повысить переиспользуемость функций. Они являются важной частью парадигмы программирования в Python и позволяют значительно упростить написание и поддержку кода.
Другие уроки курса "Python"
- Python: динамическая типизация и проверка типов
- Обработка исключений в Python
- Импорт модуля из другого каталога
- Метод __iand__ для пользовательских классов
- Разделение строки на подстроки в Python
- Работа с комплексными числами
- Удаление элементов по срезу
- Срез списка в Python
- Удаление файлов и папок в Python
- Модуль pprint
- Конкатенация строк с join() в Python
- Метод Self в Python
- Профилирование данных с Pandas
- Курс по дообучению ChatGPT
- Обработка данных в Python
- Работа с аргументами командной строки в Python
- Непрерывная проверка в Python
- Использование подчеркивания в REPL
- Выбор редактора кода.
- Расчет времени выполнения
- Работа со строками в Python
- Counter() — подсчет элементов
- Оператор «моржа» (Walrus Operator)
- Возврат нескольких значений из функции
- Преобразование символов в нижний регистр
- Операции со строками в Python
- Карта бомбоубежищ в Москве и Питере
- Работа с файлами в Python
- Подсказки типов в Python
- Удаление элементов из списка в Python
- Функция enumerate() в Python
- Многоточие в Python
- Тестирование с responses
- Раздувающийся словарь в Python
- Установка максимального количества цифр
- CSV строка разделение в Python
- Python groupby() из itertools: работа с повторяющимися элементами
- Ввод нескольких значений
- Сортировка и обратный порядок
- Импорт модулей и пакетов в Python
- Операторы увеличения и уменьшения переменной
- Python: изменяемые и неизменяемые коллекции















