Commit 464dde3b authored by Fred Drake's avatar Fred Drake

Indexing is a mess; try to get the link targets closer to the relevant

text.  There needs to be a better way.
parent f2b99db8
...@@ -610,7 +610,8 @@ is a shorthand for \code{x.__call__(arguments)}. ...@@ -610,7 +610,8 @@ is a shorthand for \code{x.__call__(arguments)}.
\item[Modules] \item[Modules]
Modules are imported by the \keyword{import} statement (see Modules are imported by the \keyword{import} statement (see
section~\ref{import}, ``The \keyword{import} statement''). section~\ref{import}, ``The \keyword{import} statement'').%
\stindex{import}\obindex{module}
A module object has a namespace implemented by a dictionary object A module object has a namespace implemented by a dictionary object
(this is the dictionary referenced by the func_globals attribute of (this is the dictionary referenced by the func_globals attribute of
functions defined in the module). Attribute references are translated functions defined in the module). Attribute references are translated
...@@ -619,8 +620,6 @@ to lookups in this dictionary, e.g., \code{m.x} is equivalent to ...@@ -619,8 +620,6 @@ to lookups in this dictionary, e.g., \code{m.x} is equivalent to
A module object does not contain the code object used to A module object does not contain the code object used to
initialize the module (since it isn't needed once the initialization initialize the module (since it isn't needed once the initialization
is done). is done).
\stindex{import}
\obindex{module}
Attribute assignment updates the module's namespace dictionary, Attribute assignment updates the module's namespace dictionary,
e.g., \samp{m.x = 1} is equivalent to \samp{m.__dict__["x"] = 1}. e.g., \samp{m.x = 1} is equivalent to \samp{m.__dict__["x"] = 1}.
......
...@@ -660,18 +660,16 @@ given as \code{sys.path}. ...@@ -660,18 +660,16 @@ given as \code{sys.path}.
\indexii{filename}{extension} \indexii{filename}{extension}
\indexiii{module}{search}{path} \indexiii{module}{search}{path}
If a built-in module is found, its built-in initialization code is If a built-in module is found,\indexii{module}{initialization} its
executed and step (1) is finished. If no matching file is found, built-in initialization code is executed and step (1) is finished. If
\exception{ImportError} is raised. If a file is found, it is parsed, no matching file is found,
\exception{ImportError}\exindex{ImportError} is raised.
\index{code block}If a file is found, it is parsed,
yielding an executable code block. If a syntax error occurs, yielding an executable code block. If a syntax error occurs,
\exception{SyntaxError} is raised. Otherwise, an empty module of the given \exception{SyntaxError}\exindex{SyntaxError} is raised. Otherwise, an
name is created and inserted in the module table, and then the code empty module of the given name is created and inserted in the module
block is executed in the context of this module. Exceptions during table, and then the code block is executed in the context of this
this execution terminate step (1). module. Exceptions during this execution terminate step (1).
\indexii{module}{initialization}
\exindex{SyntaxError}
\exindex{ImportError}
\index{code block}
When step (1) finishes without raising an exception, step (2) can When step (1) finishes without raising an exception, step (2) can
begin. begin.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment