Курс 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"
- Сравнение def и lambda-функций
- Модуль future Python
- Декоратор total_ordering для сравнения объектов
- Работа с NumPy
- Генерация случайных чисел Python
- Лямбда-функции в Python
- Конвертация изображений в PDF
- Создание матрицы в Python
- Обновление и получение данных в SQLite
- Метод join() для объединения элементов строки
- ChainMap.new_child() — добавление нового словаря
- Изменение объектов в Python
- Работа со строками в Python
- Структурирование данных с Pydantic
- Метод __complex__ в Python
- Декораторы в Python
- Курс Data Scientist в медицине
- Модуль math: основные функции
- Модуль antigravity: генерация координат
- Запрос пароля с помощью getpass
- Работа с датой и временем в Python
- Кортеж в Python: создание, доступ, изменение
- Управление ресурсами с контекстными менеджерами
- Генерация строк с .join()
- Структура данных словарь в Python
- Логирование в Python
- Добавление элементов в список: append() vs extend()
- Список переменных в Python
- Проектирование Singleton с метаклассом
- Метод __imod__ для Python
- Работа с дробями в Python
- Создание вложенных циклов for
- Конструктор в Python
- Обход элементов в Python
- Создание пар из последовательностей
- Оптимизация методов в Python 3.7
- Работа с изображениями PIL
- Копирование файлов с shutil()
- Бинарный поиск















