Курс 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"
- Анонимные функции Lambda
- Оператор match в Python
- Поиск частого элемента
- Показ всплывающих окон Tkinter
- Итерация по коллекции в Python
- split() без разделителя
- Взаимодействие с внешними процессами в Python
- Декораторы в Python
- Получение значений из словарей
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Работа с парами ключ-значение
- Метод __index__ в Python
- Объявление переменных в Python
- Объединение словарей в Python
- Проверка однородности элементов списка
- Работа с часовыми поясами в Python
- Иерархия классов в Python
- Создание вложенного генератора
- Lambda-функция в Python: использование с map() и sum()
- Перезагрузка оператора в Python
- Ускоренный импорт библиотек
- Выбор редактора кода.
- Обработка исключений с блоком else
- Оператор += в Python
- Создание и обучение модели с Keras
- Дефолтные параметры в Python
- ChainMap.new_child() — добавление нового словаря
- Нахождение самого длинного слова в списке с помощью max
- Получение списка кортежей из словаря
- Создание Telegram-бота на Python
- Копирование объектов в Python
- Контекстный менеджер в Python
- Оптимизация памяти в Python
- Лямбда-функции в Python
- Методы classmethod и staticmethod
- Улучшение читаемости кода в Python
- Создание списка дат
- Получение текущей даты в Python
- Структурирование данных с Pydantic
- Метод join() для объединения элементов строки
- Функции высшего порядка в Python
- Метод rmatmul для обратного матричного умножения
- Извлечение новостей с newspaper3k
- Курсы Яндекс Практикум
- Любовь к Python
- Лямбда-функции в цикле
- Работа с переменными в Python















