[Python-Dev] format specification mini-language docs...

Dino Viehland dinov at microsoft.com
Sat Nov 22 01:51:50 CET 2008

Ok, now I'm implementing __format__ support for IronPython.  The format spec mini-language docs say that a presentation type of None is the same as 'g' for floating point / decimal values.  But these two formats seem to differ based upon how they handle whole numbers:

>>> 2.0.__format__('')
>>> 2.0.__format__('g')

The docs also say that 'g' prints it as fixed point unless the number is too large.  But the fixed point format differs from what 'f' would print.  I guess it didn't say they'd both print it as fixed point w/ a precision of 6 or anything but it seems a little unclear.

>>> 2.0.__format__('g')
>>> 2.0.__format__('f')

Finally providing any sign character seems to cause +1.0#INF and friends to be returned instead of inf as is documented:

>>> 10e667.__format__('+')
>>> 10e667.__format__('')

Are these just doc bugs?  The inf issue is the only one that seems particularly weird to me.

More information about the Python-Dev mailing list