3.26.1 PrettyPrinter Objects
PrettyPrinter instances have the following methods:
Return the formatted representation of object. This takes into
Account the options passed to the PrettyPrinter constructor.
Print the formatted representation of object on the configured
stream, followed by a newline.
The following methods provide the implementations for the
corresponding functions of the same names. Using these methods on an
instance is slightly more efficient since new PrettyPrinter
objects don't need to be created.
Determine if the formatted representation of the object is
``readable,'' or can be used to reconstruct the value using
eval(). Note that this returns false for
recursive objects. If the depth parameter of the
PrettyPrinter is set and the object is deeper than allowed,
this returns false.
Determine if the object requires a recursive representation.
This method is provided as a hook to allow subclasses to modify the
way objects are converted to strings. The default implementation uses
the internals of the saferepr() implementation.
See About this document... for information on suggesting changes.
||object, context, maxlevels, level)|
Returns three values: the formatted version of object as a
string, a flag indicating whether the result is readable, and a flag
indicating whether recursion was detected. The first argument is the
object to be presented. The second is a dictionary which contains the
id() of objects that are part of the current presentation
context (direct and indirect containers for object that are
affecting the presentation) as the keys; if an object needs to be
presented which is already represented in context, the third
return value should be true. Recursive calls to the format()
method should add additionaly entries for containers to this
dictionary. The fourth argument, maxlevels, gives the requested
limit to recursion; this will be
0 if there is no requested
limit. This argument should be passed unmodified to recursive calls.
The fourth argument, level gives the current level; recursive
calls should be passed a value less than that of the current call.
New in version 2.3.