Heim >Backend-Entwicklung >Python-Tutorial >Warum interpretiert Python Zahlen mit führenden Nullen als Oktalzahlen?

Warum interpretiert Python Zahlen mit führenden Nullen als Oktalzahlen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-21 03:34:26394Durchsuche

Why Does Python Interpret Numbers with Leading Zeros as Octal?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn