Sobes.tech
Junior — Middle
89

Можете объяснить, как реализована работа асинхронных функций с использованием ключевых слов async и await в Python?

Компании, где спрашивали
Effective Mobile

Ответ от нейросети

sobes.tech AI

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

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

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

Пример:

import asyncio

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

async def main():
    await say_hello()

asyncio.run(main())

В этом примере say_hello — асинхронная функция, которая сначала выводит "Hello", затем ждёт 1 секунду, не блокируя поток, и выводит "World".