[Python-Dev] Proposal: make float.__str__ identical to float__repr__ in Python 3.2

Raymond Hettinger raymond.hettinger at gmail.com
Thu Jul 29 21:16:35 CEST 2010


On Jul 29, 2010, at 11:47 AM, Mark Dickinson wrote:

> 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).

When you proposed the idea at EuroPython, it seemed reasonable
but we didn't go into the pros and cons.  The downsides include
breaking tests, changing the output of report generating scripts 
that aren't using string formatting, and it introduces another
inter-version incompatibility.  The only obvious advantage is
that it makes float.__repr__ and float.__str__ the same, making
one less thing to explain.  Can you elaborate on other advantages?
Is there something wrong with the current way?

IIRC, some other tools like matlab have a relatively compact default
display size for floats, perhaps because formatting matrices becomes
awkward when there are too many digits shown and because many
of those digits are insignificant.   Also, I think those tools have a way
to globally change the default number of digits.

Am curious about your thoughts on the problem we're trying to
solve and the implications of changing the default.


Raymond

  


More information about the Python-Dev mailing list