Что такое декоратор в Python и для чего он используется (в контексте Airflow)?

Декоратор принимает функцию или другой объект и возвращает его замену либо обёртку. В Airflow @task использует этот механизм для объявления задачи.

Короткий ответ

Что ответить на собеседовании

Декоратор принимает функцию или другой объект и возвращает его замену либо обёртку. В Airflow @task использует этот механизм для объявления задачи.

Подробный разбор

Ответ с пояснениями

Декоратор принимает функцию или другой объект и возвращает его замену либо обёртку. В Airflow @task использует этот механизм для объявления задачи.

В обычном Python декоратор часто добавляет логирование, проверку прав или измерение времени. Запись @decorate над функцией соответствует присваиванию function = decorate(function).

У TaskFlow в Airflow вызов обёрнутой функции во время построения DAG описывает задачу и её аргументы. Исходная функция выполняется позднее в контексте запуска. Поэтому тяжёлые вычисления и запросы к источникам следует помещать в тело задачи, а не на верхний уровень файла DAG.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее