@@ -31,7 +31,88 @@ Dictionaries are sorted by key before the display is computed.
3131.. versionchanged :: 3.10
3232 Added support for pretty-printing :class: `dataclasses.dataclass `.
3333
34- The :mod: `pprint ` module defines one class:
34+ This module defines the following functions:
35+
36+ .. function :: pp(object, *args, sort_dicts=False, **kwargs)
37+
38+ Prints the formatted representation of *object * followed by a newline.
39+ If *sort_dicts * is false (the default), dictionaries will be displayed with
40+ their keys in insertion order, otherwise the dict keys will be sorted.
41+ *args * and *kwargs * will be passed to :func: `pprint ` as formatting
42+ parameters.
43+
44+ .. versionadded :: 3.8
45+
46+
47+ .. function :: pprint(object, stream=None, indent=1, width=80, depth=None, *, \
48+ compact=False, sort_dicts=True, underscore_numbers=False)
49+
50+ Prints the formatted representation of *object * on *stream *, followed by a
51+ newline. If *stream * is ``None ``, ``sys.stdout `` is used. This may be used
52+ in the interactive interpreter instead of the :func: `print ` function for
53+ inspecting values (you can even reassign ``print = pprint.pprint `` for use
54+ within a scope).
55+
56+ The configuration parameters *stream *, *indent *, *width *, *depth *,
57+ *compact *, *sort_dicts * and *underscore_numbers * are passed to the
58+ :class: `PrettyPrinter ` constructor and their meanings are as
59+ described in its documentation above.
60+
61+ >>> import pprint
62+ >>> stuff = [' spam' , ' eggs' , ' lumberjack' , ' knights' , ' ni' ]
63+ >>> stuff.insert(0 , stuff)
64+ >>> pprint.pprint(stuff)
65+ [<Recursion on list with id=...>,
66+ 'spam',
67+ 'eggs',
68+ 'lumberjack',
69+ 'knights',
70+ 'ni']
71+
72+ .. function :: pformat(object, indent=1, width=80, depth=None, *, \
73+ compact=False, sort_dicts=True, underscore_numbers=False)
74+
75+ Return the formatted representation of *object * as a string. *indent *,
76+ *width *, *depth *, *compact *, *sort_dicts * and *underscore_numbers * are
77+ passed to the :class: `PrettyPrinter ` constructor as formatting parameters
78+ and their meanings are as described in its documentation above.
79+
80+
81+ .. function :: isreadable(object)
82+
83+ .. index :: pair: built-in function; eval
84+
85+ Determine if the formatted representation of *object * is "readable", or can be
86+ used to reconstruct the value using :func: `eval `. This always returns ``False ``
87+ for recursive objects.
88+
89+ >>> pprint.isreadable(stuff)
90+ False
91+
92+
93+ .. function :: isrecursive(object)
94+
95+ Determine if *object * requires a recursive representation. This function is
96+ subject to the same limitations as noted in :func: `saferepr ` below and may raise an
97+ :exc: `RecursionError ` if it fails to detect a recursive object.
98+
99+
100+ One more support function is also defined:
101+
102+ .. function :: saferepr(object)
103+
104+ Return a string representation of *object *, protected against recursion in
105+ some common data structures, namely instances of :class: `dict `, :class: `list `
106+ and :class: `tuple ` or subclasses whose ``__repr__ `` has not been overridden. If the
107+ representation of object exposes a recursive entry, the recursive reference
108+ will be represented as ``<Recursion on typename with id=number> ``. The
109+ representation is not otherwise formatted.
110+
111+ >>> pprint.saferepr(stuff)
112+ "[<Recursion on list with id=...>, 'spam', 'eggs', 'lumberjack', 'knights', 'ni']"
113+
114+
115+ This module defines one class:
35116
36117.. First the implementation class:
37118
@@ -112,84 +193,6 @@ The :mod:`pprint` module defines one class:
112193 >>> pp.pprint(tup)
113194 ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
114195
115- .. function :: pformat(object, indent=1, width=80, depth=None, *, \
116- compact=False, sort_dicts=True, underscore_numbers=False)
117-
118- Return the formatted representation of *object * as a string. *indent *,
119- *width *, *depth *, *compact *, *sort_dicts * and *underscore_numbers * are
120- passed to the :class: `PrettyPrinter ` constructor as formatting parameters
121- and their meanings are as described in its documentation above.
122-
123-
124- .. function :: pp(object, *args, sort_dicts=False, **kwargs)
125-
126- Prints the formatted representation of *object * followed by a newline.
127- If *sort_dicts * is false (the default), dictionaries will be displayed with
128- their keys in insertion order, otherwise the dict keys will be sorted.
129- *args * and *kwargs * will be passed to :func: `pprint ` as formatting
130- parameters.
131-
132- .. versionadded :: 3.8
133-
134-
135- .. function :: pprint(object, stream=None, indent=1, width=80, depth=None, *, \
136- compact=False, sort_dicts=True, underscore_numbers=False)
137-
138- Prints the formatted representation of *object * on *stream *, followed by a
139- newline. If *stream * is ``None ``, ``sys.stdout `` is used. This may be used
140- in the interactive interpreter instead of the :func: `print ` function for
141- inspecting values (you can even reassign ``print = pprint.pprint `` for use
142- within a scope).
143-
144- The configuration parameters *stream *, *indent *, *width *, *depth *,
145- *compact *, *sort_dicts * and *underscore_numbers * are passed to the
146- :class: `PrettyPrinter ` constructor and their meanings are as
147- described in its documentation above.
148-
149- >>> import pprint
150- >>> stuff = [' spam' , ' eggs' , ' lumberjack' , ' knights' , ' ni' ]
151- >>> stuff.insert(0 , stuff)
152- >>> pprint.pprint(stuff)
153- [<Recursion on list with id=...>,
154- 'spam',
155- 'eggs',
156- 'lumberjack',
157- 'knights',
158- 'ni']
159-
160- .. function :: isreadable(object)
161-
162- .. index :: pair: built-in function; eval
163-
164- Determine if the formatted representation of *object * is "readable", or can be
165- used to reconstruct the value using :func: `eval `. This always returns ``False ``
166- for recursive objects.
167-
168- >>> pprint.isreadable(stuff)
169- False
170-
171-
172- .. function :: isrecursive(object)
173-
174- Determine if *object * requires a recursive representation. This function is
175- subject to the same limitations as noted in :func: `saferepr ` below and may raise an
176- :exc: `RecursionError ` if it fails to detect a recursive object.
177-
178-
179- One more support function is also defined:
180-
181- .. function :: saferepr(object)
182-
183- Return a string representation of *object *, protected against recursion in
184- some common data structures, namely instances of :class: `dict `, :class: `list `
185- and :class: `tuple ` or subclasses whose ``__repr__ `` has not been overridden. If the
186- representation of object exposes a recursive entry, the recursive reference
187- will be represented as ``<Recursion on typename with id=number> ``. The
188- representation is not otherwise formatted.
189-
190- >>> pprint.saferepr(stuff)
191- "[<Recursion on list with id=...>, 'spam', 'eggs', 'lumberjack', 'knights', 'ni']"
192-
193196
194197.. _prettyprinter-objects :
195198
0 commit comments