#16557: update functional howto -- "return value" is valid after PEP 380. Initial patch by Ramchandra Apte.

This commit is contained in:
Ezio Melotti 2013-01-20 16:34:21 +02:00
parent 81b46ec0e5
commit 5246f66e5e
1 changed files with 4 additions and 7 deletions

View File

@ -479,13 +479,10 @@ Here's a sample usage of the ``generate_ints()`` generator:
You could equally write ``for i in generate_ints(5)``, or ``a,b,c = You could equally write ``for i in generate_ints(5)``, or ``a,b,c =
generate_ints(3)``. generate_ints(3)``.
Inside a generator function, the ``return`` statement can only be used without a Inside a generator function, ``return value`` is semantically equivalent to
value, and signals the end of the procession of values; after executing a ``raise StopIteration(value)``. If no value is returned or the bottom of the
``return`` the generator cannot return any further values. ``return`` with a function is reached, the procession of values ends and the generator cannot
value, such as ``return 5``, is a syntax error inside a generator function. The return any further values.
end of the generator's results can also be indicated by raising
:exc:`StopIteration` manually, or by just letting the flow of execution fall off
the bottom of the function.
You could achieve the effect of generators manually by writing your own class You could achieve the effect of generators manually by writing your own class
and storing all the local variables of the generator as instance variables. For and storing all the local variables of the generator as instance variables. For