High Generators Question 153 of 228

How did generator-based coroutines differ from asyncio native coroutines?

Python & Django · Speak this in 60–90 seconds · Faridabad & Delhi NCR

PICTURE THIS: ASYNC / PROMISE

Call fetchPromise pending
NetworkWait off stack
Then / awaitUse the JSON

Simple meaning

Old asyncio used @asyncio.coroutine and yield from.

1

WHY — Generators instead of guessing?

Why interviewers care about Generators:

Generators questions separate people

who only read docs from people who shipped.

Keep it short, concrete,

and tied to Python work.

Stay structured

Name the idea, why it exists, then one short example.

Close cleanly

End with when you use it and one common pitfall.

2

STEPS — What happens step by step?

Before you speak the answer, walk the interviewer through these steps:

  1. 1
    Old asyncio used @asyncio.coroutine

    and yield from.

  2. 2
    Native coroutines (async def)

    are a separate type, faster to schedule, and cannot be mixed with yield.

  3. 3
    You may still wrap

    generators via types.coroutine when talking to legacy libraries.

  4. 4
    Give an example

    One tiny concrete case you can say aloud.

  5. 5
    Common mistake

    What juniors usually get wrong.

  6. 6
    Close

    When you pick this over the alternative.

3

EXAMPLE — See it in action

Here's a short line you can speak, broken into clear beats:

Say this line
“Native coroutines (async def) are a separate type, faster to schedule, and canno”
Break into beats
Nativecoroutinesasyncdefarea
Speaking order
2987408337471632900

Note: Adapt this scaffold to your own project — keep it under 60–90 seconds.

Key takeaway

Old asyncio used @asyncio.coroutine and yield from. Native coroutines (async def) are a separate type, faster to schedule, and cannot be mixed with yield.

Chat with us