- pyclbr —- Python class browser support
- 函数对象
- 类对象
pyclbr —- Python class browser support
Source code:Lib/pyclbr.py
The pyclbr module provides limited information about thefunctions, classes, and methods defined in a Python-coded module. Theinformation is sufficient to implement a module browser. Theinformation is extracted from the Python source code rather than byimporting the module, so this module is safe to use with untrusted code.This restriction makes it impossible to use this module with modules notimplemented in Python, including all standard and optional extensionmodules.
pyclbr.readmodule(module, path=None)Return a dictionary mapping module-level class names to classdescriptors. If possible, descriptors for imported base classes areincluded. Parameter module is a string with the name of the moduleto read; it may be the name of a module within a package. If given,path is a sequence of directory paths prepended to
sys.path,which is used to locate the module source code.pyclbr.readmoduleex(_module, path=None)- Return a dictionary-based tree containing a function or classdescriptors for each function and class defined in the module with a
deforclassstatement. The returned dictionary mapsmodule-level function and class names to their descriptors. Nestedobjects are entered into the children dictionary of their parent. Aswith readmodule, module names the module to be read and path isprepended to sys.path. If the module being read is a package, thereturned dictionary has a key'path'whose value is a listcontaining the package search path.
3.7 新版功能: Descriptors for nested definitions. They are accessed through thenew children attribute. Each has a new parent attribute.
The descriptors returned by these functions are instances ofFunction and Class classes. Users are not expected to create instancesof these classes.
函数对象
Class Function instances describe functions defined by defstatements. They have the following attributes:
Function.fileName of the file in which the function is defined.
Function.moduleThe name of the module defining the function described.
Function.nameThe name of the function.
Function.linenoThe line number in the file where the definition starts.
Function.parent- For top-level functions, None. For nested functions, the parent.
3.7 新版功能.
Function.children- A dictionary mapping names to descriptors for nested functions andclasses.
3.7 新版功能.
类对象
Class Class instances describe classes defined by classstatements. They have the same attributes as Functions and two more.
Class.fileName of the file in which the class is defined.
Class.moduleThe name of the module defining the class described.
Class.nameThe name of the class.
Class.linenoThe line number in the file where the definition starts.
Class.parent- For top-level classes, None. For nested classes, the parent.
3.7 新版功能.
Class.children- A dictionary mapping names to descriptors for nested functions andclasses.
3.7 新版功能.
Class.superA list of
Classobjects which describe the immediate baseclasses of the class being described. Classes which are named assuperclasses but which are not discoverable byreadmodule_ex()are listed as a string with the class name instead of asClassobjects.Class.methods- A dictionary mapping method names to line numbers. This can bederived from the newer children dictionary, but remains forback-compatibility.
