diff options
| author | Georg Brandl <georg@python.org> | 2008-01-18 16:42:57 +0000 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2008-01-18 16:42:57 +0000 |
| commit | a9e073d100c3869231ce7275ff7a810d8db74fc4 (patch) | |
| tree | 048a6f66306d4cbdf3d01910750688eabbd5e378 | |
| parent | a26c73ed5542173f30fc92a5892de11f70c2b546 (diff) | |
| download | cpython-git-a9e073d100c3869231ce7275ff7a810d8db74fc4.tar.gz | |
Note that genexps are function scopes too and therefore won't see class attributes.
| -rw-r--r-- | Doc/reference/executionmodel.rst | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst index 69a6259a23..c5a24e9ca0 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 |
