mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
bpo-42914: add a pprint underscore_numbers option (GH-24864)
pprint() gains a new boolean underscore_numbers kwarg to emit integers with thousands separated by an underscore character for improved readability (for example 1_000_000 instead of 1000000).
This commit is contained in:
parent
a02683ac38
commit
3ba3d513b1
4 changed files with 48 additions and 12 deletions
|
@ -206,6 +206,7 @@ class QueryTestCase(unittest.TestCase):
|
|||
self.assertEqual(pprint.pformat(simple), native)
|
||||
self.assertEqual(pprint.pformat(simple, width=1, indent=0)
|
||||
.replace('\n', ' '), native)
|
||||
self.assertEqual(pprint.pformat(simple, underscore_numbers=True), native)
|
||||
self.assertEqual(pprint.saferepr(simple), native)
|
||||
|
||||
def test_container_repr_override_called(self):
|
||||
|
@ -323,6 +324,18 @@ class QueryTestCase(unittest.TestCase):
|
|||
'1 '
|
||||
'2']]]]]""")
|
||||
|
||||
def test_integer(self):
|
||||
self.assertEqual(pprint.pformat(1234567), '1234567')
|
||||
self.assertEqual(pprint.pformat(1234567, underscore_numbers=True), '1_234_567')
|
||||
|
||||
class Temperature(int):
|
||||
def __new__(cls, celsius_degrees):
|
||||
return super().__new__(Temperature, celsius_degrees)
|
||||
def __repr__(self):
|
||||
kelvin_degrees = self + 273.15
|
||||
return f"{kelvin_degrees}°K"
|
||||
self.assertEqual(pprint.pformat(Temperature(1000)), '1273.15°K')
|
||||
|
||||
def test_sorted_dict(self):
|
||||
# Starting in Python 2.5, pprint sorts dict displays by key regardless
|
||||
# of how small the dictionary may be.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue