Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt die Ganzzahldivision in Python 3 eine Gleitkommazahl zurück und wie kann ich ein ganzzahliges Ergebnis erhalten?

Warum gibt die Ganzzahldivision in Python 3 eine Gleitkommazahl zurück und wie kann ich ein ganzzahliges Ergebnis erhalten?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 10:29:14618Durchsuche

Why Does Integer Division in Python 3 Return a Float, and How Can I Get an Integer Result?

Divisionsrätsel: Ganzzahlen dividieren in Dezimalzahlen in Python 3

In Python 3 führt die Durchführung einer Ganzzahldivision (z. B. 2/2) unerwartet zu einem Ergebnis ein Float (1,0) anstelle einer Ganzzahl. Dieses Verhalten unterscheidet sich von früheren Python-Versionen, in denen eine ganzzahlige Division zu einem ganzzahligen Ergebnis führte.

Ursprung der Verschiebung

Diese Änderung wurde in Python 3 eingeführt, um Mehrdeutigkeiten zu beseitigen und zu verbessern mathematische Konsistenz. Vor Python 3 verhielt sich die Ganzzahldivision in Python 2 anders und rundete auf die nächste Ganzzahl ab (z. B. 2/2 ergab 0).

Das Dilemma angehen

Um dieses Problem zu beheben, hat Python 3 den //-Operator für die Etagendivision eingeführt, der eine ganzzahlige Division gewährleistet und das abgerundete Ergebnis zurückgibt (z. B. 2//2). ergibt 1).

Empfehlung

Verwenden Sie als Best Practice immer den //-Operator für die Etagendivision in Python 3. Dadurch wird sichergestellt, dass Sie das beabsichtigte ganzzahlige Ergebnis erhalten . Eine Umwandlung ist nicht erforderlich, da der //-Operator explizit die Bodenteilung durchführt.

Weitere Erläuterungen

Weitere Informationen finden Sie in PEP-238: Ändern des Teilungsoperators. Dieses Dokument beschreibt die Gründe für die Änderung und bietet zusätzliche Erkenntnisse.

Das obige ist der detaillierte Inhalt vonWarum gibt die Ganzzahldivision in Python 3 eine Gleitkommazahl zurück und wie kann ich ein ganzzahliges Ergebnis erhalten?. 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