summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-01-20 14:34:21 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2013-01-20 14:34:21 (GMT)
commit5246f66e5e2ac8dc04871f7060235e1d70767458 (patch)
tree80271438477e4a8cbfb3c2b9ca0db37263e0393d
parent81b46ec0e5382735778d7ede92992f7d70a54d94 (diff)
downloadcpython-5246f66e5e2ac8dc04871f7060235e1d70767458.zip
cpython-5246f66e5e2ac8dc04871f7060235e1d70767458.tar.gz
cpython-5246f66e5e2ac8dc04871f7060235e1d70767458.tar.bz2
#16557: update functional howto -- "return value" is valid after PEP 380. Initial patch by Ramchandra Apte.
-rw-r--r--Doc/howto/functional.rst11
1 files changed, 4 insertions, 7 deletions
diff --git a/Doc/howto/functional.rst b/Doc/howto/functional.rst
index b621a84..d241f1a 100644
--- a/Doc/howto/functional.rst
+++ b/Doc/howto/functional.rst
@@ -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 =
generate_ints(3)``.
-Inside a generator function, the ``return`` statement can only be used without a
-value, and signals the end of the procession of values; after executing a
-``return`` the generator cannot return any further values. ``return`` with a
-value, such as ``return 5``, is a syntax error inside a generator function. The
-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.
+Inside a generator function, ``return value`` is semantically equivalent to
+``raise StopIteration(value)``. If no value is returned or the bottom of the
+function is reached, the procession of values ends and the generator cannot
+return any further values.
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