From: Georg Brandl Date: Fri, 18 Jan 2008 16:42:57 +0000 (+0000) Subject: Note that genexps are function scopes too and therefore won't see class attributes. X-Git-Tag: v2.6a1~557 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a9e073d100c3869231ce7275ff7a810d8db74fc4;p=thirdparty%2FPython%2Fcpython.git Note that genexps are function scopes too and therefore won't see class attributes. --- diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst index 69a6259a235e..c5a24e9ca0f2 100644 --- a/Doc/reference/executionmodel.rst +++ b/Doc/reference/executionmodel.rst @@ -52,7 +52,13 @@ variable is defined in a block, its scope includes that block. If the definition occurs in a function block, the scope extends to any blocks contained within the defining one, unless a contained block introduces a different binding for the name. The scope of names defined in a class block is limited to the -class block; it does not extend to the code blocks of methods. +class block; it does not extend to the code blocks of methods -- this includes +generator expressions since they are implemented using a function scope. This +means that the following will fail:: + + class A: + a = 42 + b = list(a + i for i in range(10)) .. index:: single: environment