yield Generator yield
Last updated: 2026-09-22
yield Generator yield
yield turns a function into a generator that pauses at each yield until the next call.
| Category | Keywords & Statements |
|---|---|
| Kind | Keyword / Statement |
| Python Version | all |
📝 Syntax
yield [expression]
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
[0, 1, 2]
🏷️ Related Keywords / Statements
💡 Related Cases
More case studies coming soon — check back later.
❓ FAQ
QWhat is the difference between `yield` and `return`?
A`return` ends the function and returns a value; `yield` turns the function into a generator. Each `next()` runs up to the `yield`, returns a value and pauses; the next call resumes from where it left off.
QWhy is a function containing `yield` not executed when called?
ABecause the call merely creates a generator object. The function body does not actually start running until the first `next()` (or a `for` loop, or a `list()` conversion).
QCan a generator be iterated over more than once?
ANo. A generator is one-shot: once exhausted it is finished, and a further iteration yields nothing. To traverse repeatedly, first convert the result to a list or create a new generator.
QWhat does `yield from` mean?
A`yield from iterable` is shorthand for `for x in iterable: yield x`. Inside a generator it «delegates» to another iterable, producing its elements one by one.