From: Fred Drake Date: Wed, 7 Sep 2005 05:17:07 +0000 (+0000) Subject: note that the return and yield statements cannot be used at the top level in X-Git-Tag: v2.5a0~1401 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b6e1c1100452b7128c58597d0f2389854ba85348;p=python note that the return and yield statements cannot be used at the top level in exec statements; people coming from certain other languages seem to be confused by this on a regular basis --- diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex index 6698f469ad..b1389e0bad 100644 --- a/Doc/ref/ref6.tex +++ b/Doc/ref/ref6.tex @@ -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}