Встречается на 1% собеседований по Python
Как вызвать корутину
Вызов корутины в Python требует её явного запуска через механизм событийного цикла (event loop). Корутина сама по себе — это объект функции, но не её выполнение.
Основные способы:
awaitвнутри другой корутины:
python
async def coro():
print("Hello")
async def main():
await coro() # Вызов корутины- Запуск через
asyncio.run()(Python 3.7+):
python
import asyncio
async def coro():
print("Hello")
asyncio.run(coro()) # Запуск корутины- Вручную через 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
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы