Современные coroutine Python определяются через async def, а ожидание результата выполняют через await. async for и async with используют асинхронные протоколы итерации и контекстного менеджера.
Какие ключевые слова используются для написания корутин?
Современные coroutine Python определяются через async def, а ожидание результата выполняют через await. async for и async with используют асинхронные протоколы итерации и контекстного менеджера.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Современные coroutine Python определяются через async def, а ожидание результата выполняют через await. async for и async with используют асинхронные протоколы итерации и контекстного менеджера.
Сам вызов async-функции ещё не выполняет всё её тело. Coroutine нужно ожидать или запланировать в event loop. yield внутри async def создаёт асинхронный генератор, а не обычную coroutine. Старые generator-based подходы следует отличать от современного синтаксиса.