mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			102 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \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, methods and top-level functions
 | |
| 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 by importing the module, so this module is safe to use with
 | |
| untrusted source code.  This restriction makes it impossible to use
 | |
| this module with modules not implemented in Python, including many
 | |
| standard and optional extension modules.
 | |
| 
 | |
| 
 | |
| \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}
 | |
| 
 | |
| \begin{funcdesc}{readmodule_ex}{module\optional{, path}}
 | |
|   % The 'inpackage' parameter appears to be for internal use only....
 | |
|   Like \function{readmodule()}, but the returned dictionary, in addition
 | |
|   to mapping class names to class descriptor objects, also maps
 | |
|   top-level function names to function descriptor objects.  Moreover, if
 | |
|   the module being read is a package, the key \code{'__path__'} in the
 | |
|   returned dictionary has as its value a list which contains the package
 | |
|   search path.
 | |
| \end{funcdesc}
 | |
| 
 | |
| 
 | |
| \subsection{Class Descriptor Objects \label{pyclbr-class-objects}}
 | |
| 
 | |
| The class descriptor objects used as values in the dictionary returned
 | |
| by \function{readmodule()} and \function{readmodule_ex()}
 | |
| 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 \code{class} statement defining the class.
 | |
| \end{memberdesc}
 | |
| 
 | |
| \begin{memberdesc}[class descriptor]{lineno}
 | |
|   The line number of the \code{class} statement within the file named by
 | |
|   \member{file}.
 | |
| \end{memberdesc}
 | |
| 
 | |
| \subsection{Function Descriptor Objects \label{pyclbr-function-objects}}
 | |
| 
 | |
| The function descriptor objects used as values in the dictionary returned
 | |
| by \function{readmodule_ex()} provide the following data members:
 | |
| 
 | |
| 
 | |
| \begin{memberdesc}[function descriptor]{module}
 | |
|   The name of the module defining the function described by the function
 | |
|   descriptor.
 | |
| \end{memberdesc}
 | |
| 
 | |
| \begin{memberdesc}[function descriptor]{name}
 | |
|   The name of the function.
 | |
| \end{memberdesc}
 | |
| 
 | |
| \begin{memberdesc}[function descriptor]{file}
 | |
|   Name of the file containing the \code{def} statement defining the function.
 | |
| \end{memberdesc}
 | |
| 
 | |
| \begin{memberdesc}[function descriptor]{lineno}
 | |
|   The line number of the \code{def} statement within the file named by
 | |
|   \member{file}.
 | |
| \end{memberdesc}
 | |
| 
 | 
