Вступить в клуб →
лёгкаявопросPython и асинхронность

Вызов async-функции без await: что окажется в переменной

Разработчик добавил async-функцию и вызвал её из обычного синхронного кода:

async def get_user(user_id):
    print("иду в базу")
    return {"id": user_id, "name": "Иван"}

result = get_user(1)
print(type(result))

Что произойдёт при выполнении этого фрагмента?

  • Напечатает «иду в базу», затем <class 'dict'> — async-функция возвращает значение как обычная
  • Ничего не напечатает и упадёт с RuntimeError: async-функцию нельзя вызывать вне event loop
  • Напечатает <class 'NoneType'> — результат появится в переменной позже, когда задача завершится
  • Напечатает <class 'coroutine'>, строка «иду в базу» не выведется — тело не выполнялось

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела