[Python-Dev] Change in repr of Decimal in 2.6 (original) (raw)

Karen Tracey kmtracey at gmail.com
Sat Jul 19 05:05:11 CEST 2008


[Originally posted to python-list but on further reflection and some feedback I think it might be more appropriate here.]

I noticed when trying out Python's 2.6b2 release that the repr of Decimal has changed since 2.5. On 2.5:

Python 2.5.1 (r251:54863, Mar 7 2008, 04:10:12) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

import decimal decimal.Decimal(7) Decimal("7")

double quotes were used whereas on 2.6b2:

Python 2.6b2 (r26b2:65082, Jul 18 2008, 13:36:54) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

import decimal decimal.Decimal(7) Decimal('7')

single quotes are used. Searching around I see this was done in r60773 with the log message:

Fix decimal repr which should have used single quotes like other reprs.

but I can't find any discussion other than that.

My problem is this breaks a bunch of doctests that were written assuming the prior repr. I can't just update the tests to assume the new single quotes because they are for code that is supposed to run on everything back to Python 2.3.

So my questions:

Is this backwards-incompatible change really necessary and could it be reconsidered?

If it's here to stay, is there some straightforward way that I am unaware of to construct tests that use Decimal repr but will work correctly on Python 2.3-2.6?

Thanks for any feedback, Karen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20080718/efa07deb/attachment.htm>



More information about the Python-Dev mailing list