Een integer die start met een nul, interpreteert Python als een octale waarde, niet decimaal. in Python 3 is dit aangepast om beter in het rijtje te passen en werkt bovenstaande niet meer:
0x... -> hexadecimaal
0b... -> binair
0o... -> octaal (Python 3)
timo@timo-laptop:~$ python3
Python 3.2.2 (default, Sep 5 2011, 21:17:14)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 01234
File "<stdin>", line 1
x = 01234
^
SyntaxError: invalid token
>>> x = 0o1234
>>> x
668
Uw eerste voorbeeld werkt dus niet omdat 9 geen geldig octale waarde is.
De vraag is nu: waarom hebt ge getallen nodig die beginnen met een nul? Als ik mijn wiskunde nog herinner vervalt een nul aan het begin van een getal.