Pythons seltsames Verhalten bei führenden Nullen
Bei der Arbeit mit Python kann es bei der Eingabe kleiner Ganzzahlen, die mit 0 beginnen, zu unerwarteten Ergebnissen kommen. Dies Die Anomalie ergibt sich aus der Fähigkeit der Sprache, diese Zahlen zur Basis 8, sogenannte Oktalzahlen, zu interpretieren.
Konkret behandelt der Python-Interpreter diese führenden Nullen als Hinweis auf eine Oktaldarstellung. Beispielsweise wird die Ganzzahl 011 wie folgt interpretiert:
011 = 1⋅8¹ + 1⋅8⁰ = 9 (in octal)
Dies erklärt, warum der Wert 9 zurückgegeben wird, wenn Sie „011“ in den Python-Interpreter eingeben.
Dieses Verhalten ist jedoch Version -spezifisch. In Python 3 müssen Sie eine Oktalkonstante explizit mit dem Präfix „0o“ bezeichnen. Zum Beispiel:
0o11 = 1⋅8¹ + 1⋅8⁰ = 9 (in octal)
In Python 2.6 und späteren Versionen werden sowohl das alte (führende 0) als auch das neue (0o-Präfix) Format unterstützt.
Zusammenfassend lässt sich sagen, dass führende Nullen in Python Folgendes anzeigen Oktalzahlen. In Python 2 können diese Zahlen nur mit führenden Nullen dargestellt werden, während in Python 3 das Präfix „0o“ erforderlich ist.
Das obige ist der detaillierte Inhalt vonWarum interpretiert Python Zahlen mit führenden Nullen als Oktalzahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!