[Python-3000] String literal representation of integers (octal/binary discussion)

Georg Brandl g.brandl at gmx.net
Mon Mar 19 01:36:31 CET 2007


Patrick Maupin schrieb:
> On 3/18/07, Georg Brandl <g.brandl at gmx.net> wrote:
>> I just want to add that I've adapted and extended Thomas' original patch
>> for the 0o123 syntax. It should be pretty complete.
>>
>> Open issues would probably be:
>> - should int("0755", 0) give 0o755? (IMO yes)
> 
> The PEP covers this, with the answer current of "yes" for 2.6 and
> "exception" for 3.0.  (It presumes int(x, 0) should be the same as the
> compiler tokenizer result.)

It isn't. We already said that int() should continue to accept "0x" and "0X"
prefixes for hexadecimal, for instance.

>> - what should "%#o" % 100 result in? "0144" or "0o144"?
>> - should oct(100) return "0144" or "0o144"?
> 
> Thanks!  I missed that the formatter had the '#' option, and
> completely forgot about the oct() function.  I think TOOWTDI says
> 0o144 in both cases.

I agree.


Georg



More information about the Python-3000 mailing list