Пропуски Junior asyncio обновлено

Конкурентный запуск корутин

Вопрос

Допишите код так, чтобы три запроса шли одновременно, а результаты собрались в список.

import asyncio

async def main(urls):
    results = __(1)__ asyncio.__(2)__(*(fetch(u) for u in urls))
    return results

asyncio.__(3)__(main(urls))

Попробуйте сами

Заполните пропуски по номерам.

1
2
3
Показать ответ и разбор

Коротко

asyncio.gather принимает корутины, оборачивает их в задачи и ждёт все, результат в порядке аргументов. Его нужно await-ить.

Что в пропусках

1

await

2

gather

3

run

Разбор

asyncio.gather принимает корутины, оборачивает их в задачи и ждёт все, результат в порядке аргументов. Его нужно await-ить. Точка входа программы asyncio.run(main(...)).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.