Встречается на собеседованиях • сегодня

Как вызвать корутину

Вызов корутины в Python требует её явного запуска через механизм событийного цикла (event loop). Корутина сама по себе — это объект функции, но не её выполнение.

Основные способы:

  1. await внутри другой корутины:
python
async def coro():
    print("Hello")

async def main():
    await coro()  # Вызов корутины
  1. Запуск через asyncio.run() (Python 3.7+):
python
import asyncio

async def coro():
    print("Hello")

asyncio.run(coro())  # Запуск корутины
  1. Вручную через event loop (устаревший способ для старых версий):
python
loop = asyncio.get_event_loop()
loop.run_until_complete(coro())

Важно:

  • await нельзя использовать вне корутины.
  • asyncio.run() создаёт и закрывает event loop автоматически.
  • Корутины возвращают результат через return, который можно получить через await.

Пример с возвратом значения:

python
async def calc():
    return 42

async def main():
    result = await calc()
    print(result)  # 42
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы