diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2021-07-19 09:19:02 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-19 09:19:02 (GMT) |
commit | aab1899c9d79083c1ff31d974ed8b562d3ca3b5d (patch) | |
tree | d243fa6ada2ea05367737fe9a35573409df6e5a5 /Doc | |
parent | 2c2055884420f22afb4d2045bbdab7aa1394cb63 (diff) | |
download | cpython-aab1899c9d79083c1ff31d974ed8b562d3ca3b5d.zip cpython-aab1899c9d79083c1ff31d974ed8b562d3ca3b5d.tar.gz cpython-aab1899c9d79083c1ff31d974ed8b562d3ca3b5d.tar.bz2 |
bpo-41546: make pprint (like print) not write to stdout when it is None (GH-26810)
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/pprint.rst | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst index 8f37450..3da5aa9 100644 --- a/Doc/library/pprint.rst +++ b/Doc/library/pprint.rst @@ -46,6 +46,8 @@ The :mod:`pprint` module defines one class: *stream* (default ``sys.stdout``) is a :term:`file-like object` to which the output will be written by calling its :meth:`write` method. + If both *stream* and ``sys.stdout`` are ``None``, then + :meth:`~PrettyPrinter.pprint` silently returns. Other values configure the manner in which nesting of complex data structures is displayed. @@ -84,6 +86,9 @@ The :mod:`pprint` module defines one class: .. versionchanged:: 3.10 Added the *underscore_numbers* parameter. + .. versionchanged:: 3.11 + No longer attempts to write to ``sys.stdout`` if it is ``None``. + >>> import pprint >>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni'] >>> stuff.insert(0, stuff[:]) @@ -107,24 +112,13 @@ The :mod:`pprint` module defines one class: >>> pp.pprint(tup) ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...))))))) - -The :mod:`pprint` module also provides several shortcut functions: - .. function:: pformat(object, indent=1, width=80, depth=None, *, \ compact=False, sort_dicts=True, underscore_numbers=False) Return the formatted representation of *object* as a string. *indent*, - *width*, *depth*, *compact*, *sort_dicts* and *underscore_numbers* will be passed to the - :class:`PrettyPrinter` constructor as formatting parameters. - - .. versionchanged:: 3.4 - Added the *compact* parameter. - - .. versionchanged:: 3.8 - Added the *sort_dicts* parameter. - - .. versionchanged:: 3.10 - Added the *underscore_numbers* parameter. + *width*, *depth*, *compact*, *sort_dicts* and *underscore_numbers* are + passed to the :class:`PrettyPrinter` constructor as formatting parameters + and their meanings are as described in its documentation above. .. function:: pp(object, *args, sort_dicts=False, **kwargs) @@ -142,20 +136,15 @@ The :mod:`pprint` module also provides several shortcut functions: compact=False, sort_dicts=True, underscore_numbers=False) Prints the formatted representation of *object* on *stream*, followed by a - newline. If *stream* is ``None``, ``sys.stdout`` is used. This may be used + newline. If *stream* is ``None``, ``sys.stdout`` is used. This may be used in the interactive interpreter instead of the :func:`print` function for inspecting values (you can even reassign ``print = pprint.pprint`` for use - within a scope). *indent*, *width*, *depth*, *compact*, *sort_dicts* and *underscore_numbers* will - be passed to the :class:`PrettyPrinter` constructor as formatting parameters. - - .. versionchanged:: 3.4 - Added the *compact* parameter. - - .. versionchanged:: 3.8 - Added the *sort_dicts* parameter. + within a scope). - .. versionchanged:: 3.10 - Added the *underscore_numbers* parameter. + The configuration parameters *stream*, *indent*, *width*, *depth*, + *compact*, *sort_dicts* and *underscore_numbers* are passed to the + :class:`PrettyPrinter` constructor and their meanings are as + described in its documentation above. >>> import pprint >>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni'] @@ -168,7 +157,6 @@ The :mod:`pprint` module also provides several shortcut functions: 'knights', 'ni'] - .. function:: isreadable(object) .. index:: builtin: eval |