@@ -96,21 +96,24 @@ Glossary
9696 :meth: `~object.__aexit__ ` methods. Introduced by :pep: `492 `.
9797
9898 asynchronous generator
99- A function which returns an :term: `asynchronous generator iterator `. It
100- looks like a coroutine function defined with :keyword: `async def ` except
101- that it contains :keyword: `yield ` expressions for producing a series of
102- values usable in an :keyword: `async for ` loop.
103-
104- Usually refers to an asynchronous generator function, but may refer to an
105- *asynchronous generator iterator * in some contexts. In cases where the
106- intended meaning isn't clear, using the full terms avoids ambiguity.
99+ Informally used to mean either an :term: `asynchronous generator
100+ function ` or an :term: `asynchronous generator iterator `, depending on
101+ context. The formal terms :term: `asynchronous generator function ` and
102+ :term: `asynchronous generator iterator ` are uncommon in practice;
103+ "asynchronous generator" alone is almost always sufficient.
104+
105+ asynchronous generator function
106+ A function which returns an :term: `asynchronous generator iterator `.
107+ It looks like a coroutine function defined with :keyword: `async def `
108+ except that it contains :keyword: `yield ` expressions for producing a
109+ series of values usable in an :keyword: `async for ` loop. See :pep: `525 `.
107110
108111 An asynchronous generator function may contain :keyword: `await `
109112 expressions as well as :keyword: `async for `, and :keyword: `async with `
110113 statements.
111114
112115 asynchronous generator iterator
113- An object created by an :term: `asynchronous generator ` function.
116+ An object created by an :term: `asynchronous generator function ` .
114117
115118 This is an :term: `asynchronous iterator ` which when called using the
116119 :meth: `~object.__anext__ ` method returns an awaitable object which will execute
@@ -641,23 +644,33 @@ Glossary
641644 .. index :: single: generator
642645
643646 generator
644- A function which returns a :term: `generator iterator `. It looks like a
645- normal function except that it contains :keyword: ` yield ` expressions
646- for producing a series of values usable in a for-loop or that can be
647- retrieved one at a time with the :func: ` next ` function .
647+ Informally used to mean either a :term: `generator function ` or a
648+ :term: ` generator iterator `, depending on context. The formal terms
649+ :term: ` generator function ` and :term: ` generator iterator ` are uncommon
650+ in practice; "generator" alone is almost always sufficient .
648651
649- Usually refers to a generator function, but may refer to a
650- *generator iterator * in some contexts. In cases where the intended
651- meaning isn't clear, using the full terms avoids ambiguity.
652+ .. index :: single: generator function
653+
654+ generator function
655+ A function which returns a :term: `generator ` object. It looks like a
656+ normal function except that it contains :keyword: `yield ` expressions
657+ for producing a series of values usable in a :keyword: `for `\- loop or
658+ that can be retrieved one at a time with the :func: `next ` function.
659+ See :ref: `yieldexpr `.
652660
653661 generator iterator
654- An object created by a :term: `generator ` function.
662+ An object created by a :term: `generator function ` or a
663+ :term: `generator expression `.
655664
656665 Each :keyword: `yield ` temporarily suspends processing, remembering the
657- execution state (including local variables and pending
658- try-statements). When the *generator iterator * resumes, it picks up where
659- it left off (in contrast to functions which start fresh on every
660- invocation).
666+ execution state (including local variables and pending try-statements).
667+ When the *generator iterator * resumes, it picks up where it left off
668+ (in contrast to functions which start fresh on every invocation).
669+
670+ Generator iterators also implement the :meth: `~generator.send ` method
671+ to send a value into the suspended generator, and the
672+ :meth: `~generator.throw ` method to raise an exception at the point
673+ where the generator was paused. See :ref: `generator-methods `.
661674
662675 .. index :: single: generator expression
663676
0 commit comments