Назад к вопросам
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 позволяет неблокирующее выполнение асинхронного кода.