Корутина — выполнение, которое может приостанавливаться и продолжаться. В Python вызов async def создаёт coroutine object; обычная функция выполняется сразу и возвращает результат.
Понимаю. Можете ли вы рассказать, что такое корутина в Python и как она отличается от обычной функции?
Корутина — выполнение, которое может приостанавливаться и продолжаться. В Python вызов async def создаёт coroutine object; обычная функция выполняется сразу и возвращает результат.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Корутина — выполнение, которое может приостанавливаться и продолжаться. В Python вызов async def создаёт coroutine object; обычная функция выполняется сразу и возвращает результат.
Чтобы исполнить корутину, её ожидают через await или планируют как task. На await она может уступить event loop, пока операция не готова; сам await не гарантирует переключение при уже готовом результате. Обычный блокирующий вызов внутри async def остаётся блокирующим. Корутина не равна отдельному потоку и сама по себе не даёт параллельного выполнения CPU-кода.