Встречается на собеседованиях • сегодня

Как использовать async/await

Асинхронное программирование в Python реализуется через ключевые слова async и await. Основные моменты:

  1. async определяет асинхронную функцию (корутину). Такая функция выполняется в событийном цикле и может приостанавливать выполнение.

  2. await используется внутри async-функции для ожидания результата другой асинхронной операции без блокировки потока.

Пример:

python
import asyncio

async def fetch_data():
    print("Начало загрузки")
    await asyncio.sleep(2)  # Имитация долгой операции
    print("Данные загружены")
    return {"data": 123}

async def main():
    task = asyncio.create_task(fetch_data())
    print("Делаем что-то параллельно")
    await task  # Ожидаем завершения задачи
    print(task.result())

asyncio.run(main())

Важные нюансы:

  • Асинхронные функции нужно запускать через asyncio.run() или в событийном цикле
  • await можно использовать только внутри async-функций
  • Обычные блокирующие функции (например, time.sleep) будут блокировать весь цикл - используйте асинхронные аналоги
  • Для параллельного выполнения нескольких задач используйте asyncio.gather() или asyncio.create_task()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы