Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 67d090d

Browse filesBrowse files
committed
GH-115986 Doc: change 'pprint' module documentation's structure
Ensure `pp` and `pprint` are positioned prominently at the top of the page.
1 parent 5a1559d commit 67d090d
Copy full SHA for 67d090d

File tree

Expand file treeCollapse file tree

1 file changed

+82
-79
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+82
-79
lines changed

‎Doc/library/pprint.rst

Copy file name to clipboardExpand all lines: Doc/library/pprint.rst
+82-79Lines changed: 82 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.