]> granicus.if.org Git - python/commitdiff
note that the return and yield statements cannot be used at the top level in
authorFred Drake <fdrake@acm.org>
Wed, 7 Sep 2005 05:17:07 +0000 (05:17 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 7 Sep 2005 05:17:07 +0000 (05:17 +0000)
exec statements; people coming from certain other languages seem to be
confused by this on a regular basis

Doc/ref/ref6.tex

index 6698f469ada157fa746cf79605078cb247bede18..b1389e0badd002cc939006f2896bae17b98c3b82 100644 (file)
@@ -873,7 +873,12 @@ expression should evaluate to either a string, an open file object, or
 a code object.  If it is a string, the string is parsed as a suite of
 Python statements which is then executed (unless a syntax error
 occurs).  If it is an open file, the file is parsed until \EOF{} and
-executed.  If it is a code object, it is simply executed.
+executed.  If it is a code object, it is simply executed.  In all
+cases, the code that's executed is expected to be be valid as file
+input (see section~\ref{file-input}, ``File input'').  Be aware that
+the \keyword{return} and \keyword{yield} statements may not be used
+outside of function definitions even within the context of code passed
+to the \keyword{exec} statement.
 
 In all cases, if the optional parts are omitted, the code is executed
 in the current scope.  If only the first expression after \keyword{in}