Integers with leading zeroes

Antoon Pardon antoon.pardon at
Tue Jul 21 19:21:09 CEST 2015

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.

More information about the Python-list mailing list