W Pythonie 3, zera na początku nie są dozwolone na liczbach. Np:
05
Itd nie są dozwolone, ale powinno być napisane jak 5
i 123
zamiast.
W Pythonie 2, jednak jest zero oznacza, że liczba jest liczba ósemkowa (podstawa osiem), tak 04
lub 03
oznaczałoby 4
i 3
w ósemkowej, odpowiednio, ale 08
będzie nieprawidłowe, ponieważ jest nie jest prawidłową liczbą ósemkową.
W Pythonie 3, składnia octals zmieniła się do tego:
0o10
0o4
(. Jak również pozwala inne zasady, takie jak binarny i szesnastkowy używając 0b
lub 0x
prefiksy)
Co do twojego inne pytanie, token w Pythonie to sposób, w jaki interpreter Pythona dzieli twój kod na porcje, aby mógł go zrozumieć (patrz here). Tutaj, kiedy tokenizer próbuje podzielić kod, nie spodziewa się, że zobaczy tam zero i dlatego zgłasza błąd.
Proponuję (podobnie jak w przypadku innych odpowiedzi), aby opuścić wiodące zero ((2016,4,3)
) lub reprezentować je za pomocą ciągów (("2016","04","03")
).
'04' nie ma znaczenia dla pythona, spróbuj z' 4' i '3' bez wyjścia! – Arman
ya to działa, ale dlaczego działa, gdy kick zero – robert
'04' ma znaczenie dla pythona, reprezentuje liczby ósemkowe w pythonie 2.x – ritesht93