Назад к вопросам
Middle
73
questionbank
Что такое ключевое слово 'await' в Python и как оно используется?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Ключевое слово await используется в асинхронном программировании для ожидания завершения работы объекта, допускающего ожидание (awaitable), такого как корутина. Оно может быть использовано только внутри асинхронной функции, определенной с помощью async def.
Когда await встречается:
- Выполнение корутины приостанавливается в этой точке.
- Управление возвращается в событийный цикл (event loop), который может выполнять другие задачи (coroutines).
- После завершения работы объекта, допускающего ожидание, выполнение приостановленной корутины возобновляется с того же места.
import asyncio
async def task1():
print("Executing Task 1")
await asyncio.sleep(1) # Ожидание завершения sleep, не блокируя событийный цикл
print("Task 1 Finished")
async def task2():
print("Executing Task 2")
await asyncio.sleep(2) # Ожидание завершения sleep
print("Task 2 Finished")
async def main():
# await используется для ожидания завершения отдельных корутин
await task1()
await task2()
# Запуск асинхронной программы
# asyncio.run(main())
В этом примере, await asyncio.sleep(1) приостанавливает task1, позволяя task2 начать выполнение. После того, как sleep(1) завершается, task1 возобновляется. await позволяет неблокирующее выполнение асинхронного кода.