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

Python Middle Без компании
Как вызвать корутину
Ответы
Вызов корутины в Python требует её явного запуска через механизм событийного цикла (event loop). Корутина сама по себе — это объект функции, но не её выполнение. **Основные способы:** - **`await`** внутри другой корутины: ``` async def coro(): print("Hello") async def main(): await coro() # Вызов корутины ``` - **Запуск через `asyncio.run()`** (Python 3.7+): ``` import asyncio async def coro(): print("Hello") asyncio.run(coro()) # Запуск корутины ``` - **Вручную через event loop** (устаревший способ для старых версий): ``` loop = asyncio.get_event_loop() loop.run_until_complete(coro()) ``` **Важно:** - `await` нельзя использовать вне корутины. - `asyncio.run()` создаёт и закрывает event loop автоматически. - Корутины возвращают результат через `return`, который можно получить через `await`. Пример с возвратом значения: ``` async def calc(): return 42 async def main(): result = await calc() print(result) # 42 ```