From 90758c0d97ccf9f5b5fbf68e3fef02b6e344040f Mon Sep 17 00:00:00 2001 From: Aniket Singh Yadav Date: Thu, 4 Jun 2026 09:45:31 +0000 Subject: [PATCH 1/2] Clarify generator, generator function, and generator iterator in glossary --- Doc/glossary.rst | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 3ac62270924171..1aaf8469ee408b 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -641,23 +641,35 @@ Glossary .. index:: single: generator generator - A function which returns a :term:`generator iterator`. It looks like a - normal function except that it contains :keyword:`yield` expressions - for producing a series of values usable in a for-loop or that can be - retrieved one at a time with the :func:`next` function. + An :term:`iterator` object created by a :term:`generator function` or + a :term:`generator expression`. + + Usually refers to a generator iterator object, but in some contexts + may refer to a :term:`generator function`. In cases where the + intended meaning isn't clear, using the full terms avoids ambiguity. - Usually refers to a generator function, but may refer to a - *generator iterator* in some contexts. In cases where the intended - meaning isn't clear, using the full terms avoids ambiguity. + .. index:: single: generator function + + generator function + A function which returns a :term:`generator` object. It looks like a + normal function except that it contains :keyword:`yield` expressions + for producing a series of values usable in a :keyword:`for`\-loop or + that can be retrieved one at a time with the :func:`next` function. + See :pep:`255`. generator iterator - An object created by a :term:`generator` function. + An object created by a :term:`generator function` or a + :term:`generator expression`. Each :keyword:`yield` temporarily suspends processing, remembering the - execution state (including local variables and pending - try-statements). When the *generator iterator* resumes, it picks up where - it left off (in contrast to functions which start fresh on every - invocation). + execution state (including local variables and pending try-statements). + When the *generator iterator* resumes, it picks up where it left off + (in contrast to functions which start fresh on every invocation). + + Generator iterators also implement the :meth:`~generator.send` method + to send a value into the suspended generator, and the + :meth:`~generator.throw` method to raise an exception at the point + where the generator was paused. See :pep:`342`. .. index:: single: generator expression From 80fde9d5ff46cf88dc6d7a8e99d7235537037c86 Mon Sep 17 00:00:00 2001 From: Aniket Singh Yadav Date: Fri, 5 Jun 2026 14:10:01 +0000 Subject: [PATCH 2/2] improve generator --- Doc/glossary.rst | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 1aaf8469ee408b..f4276aea90123b 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -641,12 +641,10 @@ Glossary .. index:: single: generator generator - An :term:`iterator` object created by a :term:`generator function` or - a :term:`generator expression`. - - Usually refers to a generator iterator object, but in some contexts - may refer to a :term:`generator function`. In cases where the - intended meaning isn't clear, using the full terms avoids ambiguity. + Informally used to mean either a :term:`generator function` or a + :term:`generator iterator`, depending on context. The formal terms + :term:`generator function` and :term:`generator iterator` are uncommon + in practice; "generator" alone is almost always sufficient. .. index:: single: generator function