summaryrefslogtreecommitdiffstats
path: root/Doc/libpprint.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/libpprint.tex')
-rw-r--r--Doc/libpprint.tex172
1 files changed, 0 insertions, 172 deletions
diff --git a/Doc/libpprint.tex b/Doc/libpprint.tex
deleted file mode 100644
index 0ad1dc5..0000000
--- a/Doc/libpprint.tex
+++ /dev/null
@@ -1,172 +0,0 @@
-%% Author: Fred L. Drake, Jr. <fdrake@acm.org>
-
-\section{Standard Module \module{pprint}}
-\stmodindex{pprint}
-\label{module-pprint}
-
-The \module{pprint} module provides a capability to ``pretty-print''
-arbitrary Python data structures in a form which can be used as input
-to the interpreter. If the formatted structures include objects which
-are not fundamental Python types, the representation may not be
-loadable. This may be the case if objects such as files, sockets,
-classes, or instances are included, as well as many other builtin
-objects which are not representable as Python constants.
-
-The formatted representation keeps objects on a single line if it can,
-and breaks them onto multiple lines if they don't fit within the
-allowed width. Construct \class{PrettyPrinter} objects explicitly if
-you need to adjust the width constraint.
-
-The \module{pprint} module defines one class:
-
-
-% First the implementation class:
-
-\begin{classdesc}{PrettyPrinter}{...}
-Construct a \class{PrettyPrinter} instance. This constructor
-understands several keyword parameters. An output stream may be set
-using the \var{stream} keyword; the only method used on the stream
-object is the file protocol's \method{write()} method. If not
-specified, the \class{PrettyPrinter} adopts \code{sys.stdout}. Three
-additional parameters may be used to control the formatted
-representation. The keywords are \var{indent}, \var{depth}, and
-\var{width}. The amount of indentation added for each recursive level
-is specified by \var{indent}; the default is one. Other values can
-cause output to look a little odd, but can make nesting easier to
-spot. The number of levels which may be printed is controlled by
-\var{depth}; if the data structure being printed is too deep, the next
-contained level is replaced by \samp{...}. By default, there is no
-constraint on the depth of the objects being formatted. The desired
-output width is constrained using the \var{width} parameter; the
-default is eighty characters. If a structure cannot be formatted
-within the constrained width, a best effort will be made.
-
-\begin{verbatim}
->>> import pprint, sys
->>> stuff = sys.path[:]
->>> stuff.insert(0, stuff[:])
->>> pp = pprint.PrettyPrinter(indent=4)
->>> pp.pprint(stuff)
-[ [ '',
- '/usr/local/lib/python1.5',
- '/usr/local/lib/python1.5/test',
- '/usr/local/lib/python1.5/sunos5',
- '/usr/local/lib/python1.5/sharedmodules',
- '/usr/local/lib/python1.5/tkinter'],
- '',
- '/usr/local/lib/python1.5',
- '/usr/local/lib/python1.5/test',
- '/usr/local/lib/python1.5/sunos5',
- '/usr/local/lib/python1.5/sharedmodules',
- '/usr/local/lib/python1.5/tkinter']
->>>
->>> import parser
->>> tup = parser.ast2tuple(
-... parser.suite(open('pprint.py').read()))[1][1][1]
->>> pp = pprint.PrettyPrinter(depth=6)
->>> pp.pprint(tup)
-(266, (267, (307, (287, (288, (...))))))
-\end{verbatim}
-\end{classdesc}
-
-
-% Now the derivative functions:
-
-The \class{PrettyPrinter} class supports several derivative functions:
-
-\begin{funcdesc}{pformat}{object}
-Return the formatted representation of \var{object} as a string. The
-default parameters for formatting are used.
-\end{funcdesc}
-
-\begin{funcdesc}{pprint}{object\optional{, stream}}
-Prints the formatted representation of \var{object} on \var{stream},
-followed by a newline. If \var{stream} is omitted, \code{sys.stdout}
-is used. This may be used in the interactive interpreter instead of a
-\keyword{print} statement for inspecting values. The default
-parameters for formatting are used.
-
-\begin{verbatim}
->>> stuff = sys.path[:]
->>> stuff.insert(0, stuff)
->>> pprint.pprint(stuff)
-[<Recursion on list with id=869440>,
- '',
- '/usr/local/lib/python1.5',
- '/usr/local/lib/python1.5/test',
- '/usr/local/lib/python1.5/sunos5',
- '/usr/local/lib/python1.5/sharedmodules',
- '/usr/local/lib/python1.5/tkinter']
-\end{verbatim}
-\end{funcdesc}
-
-\begin{funcdesc}{isreadable}{object}
-Determine if the formatted representation of \var{object} is
-``readable,'' or can be used to reconstruct the value using
-\function{eval()}\bifuncindex{eval}. This always returns false for
-recursive objects.
-
-\begin{verbatim}
->>> pprint.isreadable(stuff)
-0
-\end{verbatim}
-\end{funcdesc}
-
-\begin{funcdesc}{isrecursive}{object}
-Determine if \var{object} requires a recursive representation.
-\end{funcdesc}
-
-
-One more support function is also defined:
-
-\begin{funcdesc}{saferepr}{object}
-Return a string representation of \var{object}, protected against
-recursive data structures. If the representation of \var{object}
-exposes a recursive entry, the recursive reference will be represented
-as \samp{<Recursion on \var{typename} with id=\var{number}>}. The
-representation is not otherwise formatted.
-\end{funcdesc}
-
-% This example is outside the {funcdesc} to keep it from running over
-% the right margin.
-\begin{verbatim}
->>> pprint.saferepr(stuff)
-"[<Recursion on list with id=682968>, '', '/usr/local/lib/python1.5', '/usr/loca
-l/lib/python1.5/test', '/usr/local/lib/python1.5/sunos5', '/usr/local/lib/python
-1.5/sharedmodules', '/usr/local/lib/python1.5/tkinter']"
-\end{verbatim}
-
-
-\subsection{PrettyPrinter Objects}
-\label{PrettyPrinter Objects}
-
-\class{PrettyPrinter} instances have the following methods:
-
-
-\begin{methoddesc}{pformat}{object}
-Return the formatted representation of \var{object}. This takes into
-Account the options passed to the \class{PrettyPrinter} constructor.
-\end{methoddesc}
-
-\begin{methoddesc}{pprint}{object}
-Print the formatted representation of \var{object} on the configured
-stream, followed by a newline.
-\end{methoddesc}
-
-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 \class{PrettyPrinter}
-objects don't need to be created.
-
-\begin{methoddesc}{isreadable}{object}
-Determine if the formatted representation of the object is
-``readable,'' or can be used to reconstruct the value using
-\function{eval()}\bifuncindex{eval}. Note that this returns false for
-recursive objects. If the \var{depth} parameter of the
-\class{PrettyPrinter} is set and the object is deeper than allowed,
-this returns false.
-\end{methoddesc}
-
-\begin{methoddesc}{isrecursive}{object}
-Determine if the object requires a recursive representation.
-\end{methoddesc}