Курс Python → Декораторы в Python
Декораторы в Python — это специальные функции, которые могут изменить поведение другой функции или класса без изменения их собственного кода. Они позволяют добавлять дополнительную функциональность к существующему коду, не изменяя его исходную реализацию. Декораторы могут использоваться, например, для логирования, кэширования, проверки аргументов или управления доступом к функциям.
Для создания декоратора в Python используется символ @, за которым следует имя функции-декоратора. Функция-декоратор принимает другую функцию в качестве аргумента и возвращает новую функцию или класс. Это позволяет применять декоратор к другим функциям, чтобы изменить или расширить их поведение.
def square_decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result ** 2
return wrapper
@square_decorator
def square(x):
return x
В приведенном примере функция square_decorator() является декоратором, который принимает функцию в качестве аргумента и возвращает новую функцию, которая возводит результат выполнения исходной функции в квадрат. После применения декоратора @square_decorator к функции square(), результат ее выполнения будет возводиться в квадрат.
Использование декораторов позволяет сделать код более модульным, читаемым и гибким. Они позволяют разделить различные аспекты функциональности программы и применять их по отдельности к различным частям кода. Благодаря декораторам можно эффективно использовать и переиспользовать код, делая его более универсальным и поддерживаемым.
Другие уроки курса "Python"
- Определение локальных переменных в Python
- Запуск асинхронной корутины
- Многострочные комментарии в Python
- Использование эмодзи в Python
- Декораторы в Python
- Проверка на палиндром
- Обработка ошибок в Python
- Создание GUI с Tkinter: Entry
- Назначение максимального и минимального значения переменной в Python.
- Функции all() и any() в Python
- Создание объекта времени
- Метод get для словарей
- Метод invert для побитового отрицания
- Отладка в Python
- Codecademy в Telegram
- Форматирование данных с помощью pprint
- Получение имени функции с помощью inspect
- Локальные переменные.
- Класс Counter() для подсчета элементов
- Работа с библиотекой xkcd
- Контроль точности вывода чисел
- List Comprehension Tutorial
- Проблема с изменяемыми аргументами
- Метод append() для списка
- Counter() — подсчет элементов
- Оператор объединения словарей
- Условные выражения в Python
- Переопределение метода __and__
- Работа с модулем Calendar
- Основы Python за 14 дней
- Быстрый поиск кода
- Обязательные аргументы в Python
- Переопределение метода xor в Python
- Библиотека sh: использование команд bash в Python
- Python и Монти Пайтон
- Метод __iand__ для пользовательских классов
- Работа со строками в Python
- Метод pop() списка
- Переворот списка в Python
- Метод __int__ в Python
- Работа с массивами в Python
- Удаление элементов из списка в Python
- Транспонирование матрицы
- Нахождение максимального значения и его индекса в списке















