
July 29, 2010
6:47 p.m.
Now that we've got the short float repr in Python, there's less value in having float.__str__ truncate to 12 significant digits (as it currently does). For Python 3.2, I propose making float.__str__ use the same algorithm as float.__repr__ for its output (and similarly for complex). Apart from simplifying the internals a little bit, one nice feature of this change is that it removes the differences in formatting between printing a float and printing a container of floats:
l = [1/3, 1/5, 1/7] print(l) [0.3333333333333333, 0.2, 0.14285714285714285] print(l[0], l[1], l[2]) 0.333333333333 0.2 0.142857142857
Any thoughts or comments on this? There's a working patch at http://bugs.python.org/issue9337 Mark