Курс 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"
- Генератор данных в Keras
- Defaultdict в Python
- Отправка POST запроса на сервер.
- Измерение времени выполнения в Python
- Чтение и запись TOML-конфигов
- Объединение итераторов
- Измерение времени выполнения с помощью time
- Создание словарей в Python
- Работа с NumPy массивами
- Именованные срезы в Python
- Сортировка и разворот списка
- Установка Home Assistant
- Метод hash в Python
- Цикл for в Python
- Тестирование модели в PyTorch
- Многострочные строки в Python
- Анализ кода — Python
- Оператор @ для умножения матриц
- Транспонирование 2D-массива с помощью zip
- Освоение Python
- Переворот строки
- Создание функций с произвольным количеством аргументов
- Конструктор в Python
- Прокачанный трейсинг ошибок
- Оператор continue в Python
- Метод setitem в Python
- Определение функций с необязательными аргументами
- Множества и frozenset
- Получение идентификатора объекта в памяти
- Сравнение строк в Python
- Решение переменной Шредингера
- Определение объема памяти объекта
- Python Метод Union Множеств
- Метод __int__ в Python
- Передача аргументов в Python
- Многострочные комментарии в Python
- Переменная с нижним подчеркиванием
- Обновление и получение данных в SQLite
- Defaultdict в Python
- Создание и инициализация объектов
- Объединение словарей в Python
- Проверка однородности элементов списка
- Возвращение нескольких значений
- Удаление элемента из списка
- Декораторы в Python















