On Sat, Dec 8, 2018 at 1:46 PM <jf...@ms4.hinet.net> wrote: > > 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. >
Definitely not. What happens to all the code that used to be legal and meant octal, and would become legal again but with a different meaning? It'd be bad enough to have Python interpret something in a way that's subtly different from the way other languages do (annoying, but livable), but to do that across versions of the language would be an incredibly bad idea. ChrisA -- https://mail.python.org/mailman/listinfo/python-list