2014-10-17 10 views
7

Nell'interprete Python, 08 e 09 sembrano non validi. Esempio:Perché il codice 08 o 09 in Python non è valido?

>>> 01 
1 
>>> 02 
2 
>>> 03 
3 
>>> 04 
4 
>>> 05 
5 
>>> 06 
6 
>>> 07 
7 
>>> 08 
    File "<stdin>", line 1 
    08 
    ^
SyntaxError: invalid token 
>>> 09 
    File "<stdin>", line 1 
    09 
    ^
SyntaxError: invalid token 

Come si può vedere, solo 08 e 09 non sembrano funzionare. Sono questi valori speciali o qualcosa del genere?

+2

È una notazione ottale. Anche un duplicato di poche centinaia di domande su SO ... Si prega di fare qualche sforzo prima di fare domande, ho letteralmente cercato su google "python 08" e sono stato presentato con _multiple_ risultati rilevanti da SO. – l4mpi

+0

Sono ottali. http://stackoverflow.com/questions/11620151/what-do-numbers-starting-with-0-mean-in-python –

risposta

10

Un numero con uno zero iniziale viene interpretato come letterale ottale. Quindi 8 e 9 non sono validi in ottale. Solo le cifre da 0 a 7 sono valide.

Prova a interprete:

>>> 011 
9 
>>> 012 
10 
>>> 013 
11 
2

Se un numero inizia con 0, significa che è un numero ottale:

>>> 010 
8 
Problemi correlati