Integers with leading zeroes

sohcahtoa82 at gmail.com sohcahtoa82 at gmail.com
Tue Jul 21 19:58:10 CEST 2015


On Tuesday, July 21, 2015 at 10:22:44 AM UTC-7, Antoon Pardon wrote:
> On 07/19/2015 07:39 AM, Steven D'Aprano wrote:
> > In Python 2, integer literals with leading zeroes are treated as octal, so
> > 09 is a syntax error and 010 is 8.
> > 
> > This is confusing to those not raised on C-style octal literals, so in
> > Python 3 leading zeroes are prohibited in int literals. Octal is instead
> > written using the prefix 0o, similar to hex 0x and binary 0b.
> > 
> > Consequently Python 3 makes both 09 and 010 a syntax error.
> > 
> > However there is one exception: zero itself is allowed any number of leading
> > zeroes, so 00000 is a legal way to write zero as a base-10 int literal.
> > 
> > Does anyone use that (mis)feature?
> > 
> 
> Yes. I like to sometime write numbers with leading zeros.
> Sometimes these numbers represent codeblocks of a fixed
> number of digits. Always writing those numbers with this
> number of digits helps being aware of this. It is also
> easier for when you need to know how many leading zero's
> such a number has.

IMO, leading zeroes just looks like visual noise, and if I wanted to align numbers, I'd just use spaces.


More information about the Python-list mailing list