Why Python don't accept 03 as a number?

jfong at ms4.hinet.net jfong at ms4.hinet.net
Fri Dec 7 21:40:30 EST 2018


MRAB at 2018/12/8 UTC+8 AM10:04:51 wrote:
> Before Python 3, a leading 0 in an integer literal would indicate an 
> octal (base 8) number.

So, the reason is historical.

> The old form is now invalid in order to reduce the chance of bugs.

I encounter this problem on trying to do something like this:
    eval('03 + 00 + 15')
It takes me some efforts to get rid of those leading zeros:-(

Hope someday 03 can be accepted as a valid decimal number in Python 3.

Thank you for explaining.

--Jach




More information about the Python-list mailing list