diff options
author | Raymond Hettinger <python@rcn.com> | 2008-01-23 00:04:40 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-01-23 00:04:40 (GMT) |
commit | c226c311392abbda437300eaa9841d9e839854c0 (patch) | |
tree | ccb398c254698142f25f194ec561375dda85181f | |
parent | 2230bcfe24d6b28719aa6ef1c483a619e1960b6a (diff) | |
download | cpython-c226c311392abbda437300eaa9841d9e839854c0.zip cpython-c226c311392abbda437300eaa9841d9e839854c0.tar.gz cpython-c226c311392abbda437300eaa9841d9e839854c0.tar.bz2 |
Let pprint() support sets and frozensets (suggested by David Mertz).
-rw-r--r-- | Doc/library/pprint.rst | 3 | ||||
-rw-r--r-- | Lib/pprint.py | 17 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 20 insertions, 2 deletions
diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst index d073714..ae9677f 100644 --- a/Doc/library/pprint.rst +++ b/Doc/library/pprint.rst @@ -25,6 +25,9 @@ width constraint. dictionary was sorted only if its display required more than one line, although that wasn't documented. +.. versionchanged:: 2.6 + Added support for :class:`set` and :class:`frozenset`. + The :mod:`pprint` module defines one class: .. First the implementation class: diff --git a/Lib/pprint.py b/Lib/pprint.py index 89f99d2..9359de3 100644 --- a/Lib/pprint.py +++ b/Lib/pprint.py @@ -162,11 +162,24 @@ class PrettyPrinter: write('}') return - if (issubclass(typ, list) and r is list.__repr__) or \ - (issubclass(typ, tuple) and r is tuple.__repr__): + if ((issubclass(typ, list) and r is list.__repr__) or + (issubclass(typ, tuple) and r is tuple.__repr__) or + (issubclass(typ, set) and r is set.__repr__) or + (issubclass(typ, frozenset) and r is frozenset.__repr__) + ): if issubclass(typ, list): write('[') endchar = ']' + elif issubclass(typ, set): + write('set([') + endchar = '])' + object = sorted(object) + indent += 4 + elif issubclass(typ, frozenset): + write('frozenset([') + endchar = '])' + object = sorted(object) + indent += 9 else: write('(') endchar = ')' @@ -378,6 +378,8 @@ Core and builtins Library ------- +- The pprint module now supports sets and frozensets. + - #1221598: add optional callbacks to ftplib.FTP's storbinary() and storlines() methods. (Contributed by Phil Schwartz) |