[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/)