[Python-Dev] PEP 3127 (Integer Literal Support and Syntax): %o and %b
Eric Smith
eric+python-dev at trueblade.com
Mon Mar 24 12:04:11 CET 2008
Guido van Rossum wrote:
> On Tue, Mar 18, 2008 at 9:11 PM, Eric Smith
> <eric+python-dev at trueblade.com> wrote:
>> I've been double checking the PEP 3127 implementation in py3k and the
>> backport I did to 2.6. The PEP says this about the % operator:
>>
>> "The string (and unicode in 2.6) % operator will have 'b' format
>> specifier added for binary, and the alternate syntax of the 'o' option
>> will need to be updated to add '0o' in front, instead of '0'."
>>
>> The %b operator was not added to 3.0, so I'll look into doing that in
>> both 2.6 and 3.0 (which I opened as issue 2416).
>>
>> What should be done for '%#o' formatting in 2.6? The above sentence
>> from the PEP implies it should be modified to add '0o' instead of '0',
>> even in 2.6. But that seems like a bad idea to me. Maybe it should
>> stay as-is, but add a -3 warning? Unfortunately, there'd be no way to
>> change your code to get rid of the warning, short of switching to
>> str.format() or adding a __future__ import (shudder). In 3.0, '%#o'
>> already adds the leading '0o'.
>
> I think this is such a tiny detail we shouldn't bother with a -3 warning.
>
> I agree that in 2.6, %#o should continue to do what it does in 2.5.
> Can you update the PEP?
Done in r61845.
Eric.
More information about the Python-Dev
mailing list