Sobes.tech
Back to questions
Junior — Middle
63

Можешь объяснить основные особенности использования async и await в Python?

Answer from AI

sobes.tech AI

В Python ключевые слова async и await используются для написания асинхронного кода, который позволяет выполнять операции ввода-вывода без блокировки основного потока.

  • async перед функцией объявляет её как корутину (асинхронную функцию), которую можно приостанавливать и возобновлять.
  • await используется внутри async функции для ожидания результата другой корутины или асинхронной операции.

Это позволяет писать код, который выглядит синхронно, но работает асинхронно, улучшая производительность при работе с сетью, файлами и другими операциями, где есть задержки.

Пример:

import asyncio

async def say_hello():
    await asyncio.sleep(1)  # имитация асинхронной задержки
    print("Hello")

async def main():
    await say_hello()

asyncio.run(main())

Здесь asyncio.sleep — асинхронная задержка, которая не блокирует поток, а await ждёт её завершения.