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

Какие знаешь Awaitable объекты в asyncio

В asyncio awaitable объектами являются:

  1. Coroutine – результат вызова асинхронной функции (async def):
python
async def foo():
    return 42

coro = foo()  # корутина
await coro
  1. Task – обёртка над корутиной, планируемая на выполнение в event loop:
python
task = asyncio.create_task(foo())
await task
  1. Future – низкоуровневый объект, представляющий результат отложенной операции:
python
fut = asyncio.Future()
await fut  # будет ждать, пока fut.set_result() не вызовут
  1. Awaitable-объекты с методом __await__ – пользовательские классы могут реализовать этот метод:
python
class MyAwaitable:
    def __await__(self):
        yield from asyncio.sleep(1)
        return "done"

await MyAwaitable()

Все они поддерживают оператор await и могут быть использованы в асинхронном контексте.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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