Sobes.tech
Back to questions
Junior — Middle
74

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

Companies where asked
Effective Mobile

Answer from AI

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".