Skip to content
Snippets Groups Projects
Unverified Commit 392fd272 authored by andrei kulakov's avatar andrei kulakov Committed by GitHub
Browse files

bpo-42259: clarify pprint saferepr docs (#30256)

parent 549567c6
No related branches found
No related tags found
No related merge requests found
......@@ -171,17 +171,21 @@ The :mod:`pprint` module defines one class:
.. function:: isrecursive(object)
Determine if *object* requires a recursive representation.
Determine if *object* requires a recursive representation. This function is
subject to the same limitations as noted in :func:`saferepr` below and may raise an
:exc:`RecursionError` if it fails to detect a recursive object.
One more support function is also defined:
.. function:: saferepr(object)
Return a string representation of *object*, protected against recursive data
structures. If the representation of *object* exposes a recursive entry, the
recursive reference will be represented as ``<Recursion on typename with
id=number>``. The representation is not otherwise formatted.
Return a string representation of *object*, protected against recursion in
some common data structures, namely instances of :class:`dict`, :class:`list`
and :class:`tuple` or subclasses whose ``__repr__`` has not been overridden. If the
representation of object exposes a recursive entry, the recursive reference
will be represented as ``<Recursion on typename with id=number>``. The
representation is not otherwise formatted.
>>> pprint.saferepr(stuff)
"[<Recursion on list with id=...>, 'spam', 'eggs', 'lumberjack', 'knights', 'ni']"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment