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:
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!