Heim > Backend-Entwicklung > Python-Tutorial > Warum führt Python 3 eine Gleitkommadivision anstelle einer Ganzzahldivision durch?

Warum führt Python 3 eine Gleitkommadivision anstelle einer Ganzzahldivision durch?

Barbara Streisand
Freigeben: 2024-12-14 18:27:16
Original
930 Leute haben es durchsucht

Why Does Python 3 Perform Floating-Point Division Instead of Integer Division?

Warum Python eine Gleitkommadivision für die Ganzzahldivision durchführt

In neueren Versionen von Python (3 und höher) ergibt die Ganzzahldivision (Division zweier Ganzzahlen) eine Gleitkommadivision statt eine ganze Zahl. Dieses Verhalten unterscheidet sich von früheren Versionen, die ganzzahlige Ergebnisse für ganzzahlige Operanden bevorzugten.

Bedenken Sie die folgende Unterteilung in Python 3:

>>> 2 / 2
1.0
Nach dem Login kopieren

Dieses überraschende Ergebnis kann Verwirrung stiften, insbesondere wenn Sie es sind an ältere Python-Versionen gewöhnt.

Der Grund für die Änderung

Die Begründung für diese Änderung ist dokumentiert in PEP-238: Ändern des Divisionsoperators. Der Vorschlag zielte darauf ab:

  • Eindeutige Etagenunterteilung einzuführen, die durch den //-Operator gekennzeichnet wird.
  • Das Potenzial für unbeabsichtigte Typkonvertierungen und Roundtrip-Fehler bei Operanden gemischter Typen zu eliminieren.

Auswirkungen auf Ihren Code

Diese Änderung hat mehrere Auswirkungen für Ihren Python-Code:

  • Wenn Sie eine ganzzahlige Division (gegen Null gerundet) benötigen, verwenden Sie explizit den //-Operator.
  • Wenn Sie ein Float-Ergebnis erwarten, ist eine Umwandlung nicht erforderlich.
  • Für maximale Lesbarkeit sollten Sie die Operatoren // und / mit Bedacht verwenden, um Ihre Absicht zu vermitteln deutlich.

Beispiel:

# Explicit floor division
result = 2 // 2  # 1

# Float division
result = 2 / 2  # 1.0
Nach dem Login kopieren

Zusätzliche Ressourcen

  • [PEP-238: Ändern des Divisionsoperators](https://www. python.org/dev/peps/pep-0238/)

Das obige ist der detaillierte Inhalt vonWarum führt Python 3 eine Gleitkommadivision anstelle einer Ganzzahldivision durch?. 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