Python cannot handle numbers string starting with 0. Why?
I just executed the following program on my python interpreter: >>> def mylife(x): ... if x>0: ... print(x) ... else: ... print(-x) ... >>> mylife(01) File "<stdin>", line 1 mylife(01) ^ SyntaxError: invalid token >>> mylife(1) 1 >>> mylife(-1) 1 >>> mylife(0) 0 Now, I have seen this but as the link says, the 0 for octal does not work any more in python (i.e. does not work in python3). But does that not mean that the the behaviour for numbers starting with 0 should be interpreted properly? Either in base-2 or in normal base-10 representation? Since it is not so, why does python behave like