Назад к задачам
Junior — Senior
7

Порядок выполнения и передача аргументов в asyncio

Компании, где спрашивали:

Рексофт
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Разобрать, в каком порядке выводятся сообщения и какие значения передаются между корутинами. Определите, какое значение будет получено в параметре data функции test_2() в приведённом примере. Проверьте, соответствует ли комментарий под кодом фактическому порядку вывода.

# asyncio / multiprocessing / threading

async def test_1():
    data = await asyncio.sleep(10000000)
    print('1')
    return data

async def test_2(data):
    await asyncio.sleep(1, extra=data)
    print('2')

async def main():
    data = await test_1()
    print('3')
    await test_2(data)

asyncio.run(main())