[Python-checkins] python/dist/src/Doc/tut tut.tex,1.166,1.167

Guido van Rossum guido@python.org
Wed, 07 Aug 2002 14:29:49 -0400


>   Although scopes are determined statically, they are used dynamically.
> ! At any time during execution, there are at least three nested scopes whose
> ! namespaces are directly accessible: the innermost scope, which is searched
> ! first, contains the local names; the namespaces of any enclosing code
> ! blocks (a module, function, or class definition) which are searched starting
> ! with the nearest enclosing scope; the middle scope, searched next, contains
> ! the current module's global names; and the outermost scope (searched last)
> ! is the namespace containing built-in names.
> ! 
> ! If a name is declared global, then all references and assignments go
> ! directly to the middle scope containing the module's global names.
> ! Otherwise, all variables found outside of the innermost scope are read-only.

Umm, enclosing classes are *not* searched!  *Only* enclosing function
bodies are part of "nested scopes".

--Guido van Rossum (home page: http://www.python.org/~guido/)