cpython/Doc/lib/libpyclbr.tex

64 lines
2.2 KiB
TeX
Raw Normal View History

\section{\module{pyclbr} ---
Python class browser support}
\declaremodule{standard}{pyclbr}
\modulesynopsis{Supports information extraction for a Python class
browser.}
\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
The \module{pyclbr} can be used to determine some limited information
about the classes and methods defined in a module. The information
provided is sufficient to implement a traditional three-pane class
browser. The information is extracted from the source code rather
than from an imported module, so this module is safe to use with
untrusted source code.
\begin{funcdesc}{readmodule}{module\optional{, path}}
% The 'inpackage' parameter appears to be for internal use only....
Read a module and return a dictionary mapping class names to class
descriptor objects. The parameter \var{module} should be the name
of a module as a string; it may be the name of a module within a
package. The \var{path} parameter should be a sequence, and is used
to augment the value of \code{sys.path}, which is used to locate
module source code.
\end{funcdesc}
\subsection{Class Descriptor Objects \label{pyclbr-class-objects}}
The class descriptor objects used as values in the dictionary returned
by \function{readmodule()} provide the following data members:
\begin{memberdesc}[class descriptor]{module}
The name of the module defining the class described by the class
descriptor.
\end{memberdesc}
\begin{memberdesc}[class descriptor]{name}
The name of the class.
\end{memberdesc}
\begin{memberdesc}[class descriptor]{super}
A list of class descriptors which describe the immediate base
classes of the class being described. Classes which are named as
superclasses but which are not discoverable by
\function{readmodule()} are listed as a string with the class name
instead of class descriptors.
\end{memberdesc}
\begin{memberdesc}[class descriptor]{methods}
A dictionary mapping method names to line numbers.
\end{memberdesc}
\begin{memberdesc}[class descriptor]{file}
Name of the file containing the class statement defining the class.
\end{memberdesc}
\begin{memberdesc}[class descriptor]{lineno}
The line number of the class statement within the file named by
\member{file}.
\end{memberdesc}