Назад к вопросам
Middle
73
questionbank
Какова функция gather() в Python и в каких случаях ее следует использовать?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
asyncio.gather() объединяет в себе несколько асинхронных объектов (awaitable) в одну Future.
Функции gather() следует использовать:
- Когда нужно параллельно выполнить несколько корутин или других асинхронных задач и дождаться завершения всех.
- Для группировки результатов выполнения асинхронных операций.
- Для обработки исключений, возникших в любой из объединенных задач.
Пример использования:
import asyncio
async def task_one(delay):
// Имитация долгой операции
await asyncio.sleep(delay)
return f"Task one finished after {delay} seconds"
async def task_two(data):
// Имитация обработки данных
await asyncio.sleep(1)
return f"Task two processed: {data}"
async def main():
results = await asyncio.gather(
task_one(2),
task_two("some_data"),
return_exceptions=True // Возвращает исключения вместо их выброса
)
print(results)
// Запуск основной корутины
// asyncio.run(main())