Heim > Backend-Entwicklung > Python-Tutorial > Warum gibt die Division von Python 3 eine Gleitkommazahl anstelle einer Ganzzahl zurück?

Warum gibt die Division von Python 3 eine Gleitkommazahl anstelle einer Ganzzahl zurück?

Linda Hamilton
Freigeben: 2024-12-11 10:50:11
Original
121 Leute haben es durchsucht

Why Does Python 3's Division Return a Float Instead of an Integer?

Rätsel der Ganzzahldivision: Warum Gleitkommazahlen statt Ganzzahlen?

Das aktuelle Verhalten der Ganzzahldivision in Python, bei der sie eine Gleitkommazahl anstelle einer Ganzzahl ergibt Ganzzahl, hat bei Entwicklern einige Verwirrung gestiftet. Dieser Übergang stellt eine Abkehr von früheren Versionen dar, die Ganzzahlen für die Ganzzahldivision zurückgegeben haben.

Bei der Division von 2 durch 2 in Python 3 ist das Ergebnis 1,0, eine Gleitkommazahl. Für diejenigen, die an die früheren Versionen gewöhnt sind, in denen int/int-Operationen Ganzzahlen erzeugten, mag dieses veränderte Verhalten eine Überraschung sein.

Der zugrunde liegende Grund für diese Änderung liegt in der Übernahme des Etagendivisionsoperators // durch Python, der eindeutig zurückkehrt der ganzzahlige Quotient. Um diese Unterscheidung beizubehalten, wurde der Standard-Divisionsoperator (/) so geändert, dass er einen Gleitkommawert zurückgibt.

Konsequenzen und Problemumgehungen

Diese Änderung hat Auswirkungen auf Code, der auf Ganzzahlen basiert Division. Entwickler haben jetzt zwei Möglichkeiten:

  • Verwenden Sie den Etagendivisionsoperator //: In Fällen, in denen eine ganzzahlige Division gewünscht ist, sollte der //-Operator explizit verwendet werden.
  • Umwandeln des Ergebnisses in eine ganze Zahl: Alternativ kann das Ergebnis der Division mit der Funktion int() in eine ganze Zahl umgewandelt werden, um den Unterteil zu erhalten Quotient.

Historischer Kontext

Es ist erwähnenswert, dass das aktuelle Verhalten die Umkehrung einer früheren Änderung in Python 2.x ist, bei der die Division standardmäßig auf Boden gesetzt war Division. Diese Umkehrung wurde durch PEP-238 motiviert, das den //-Operator für eine eindeutige Etagendivision einführte und den Standarddivisionsoperator so änderte, dass er einen Gleitkommawert zurückgibt.

Das Verständnis dieser historischen Änderungen ist für Entwickler, die von früheren Python-Versionen migrieren, von entscheidender Bedeutung Fehlerbehebungscode, der auf Ganzzahldivision basiert.

Das obige ist der detaillierte Inhalt vonWarum gibt die Division von Python 3 eine Gleitkommazahl anstelle einer Ganzzahl zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage