Integers with leading zeroes
Steven D'Aprano
steve at pearwood.info
Sun Jul 19 01:39:08 EDT 2015
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?
--
Steven
More information about the Python-list
mailing list