Heim >Backend-Entwicklung >Python-Tutorial >Was ist der Unterschied zwischen der Ganzzahldivision in Python 2 und Python 3?

Was ist der Unterschied zwischen der Ganzzahldivision in Python 2 und Python 3?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 03:10:10980Durchsuche

What's the Difference Between Integer Division in Python 2 and Python 3?

Ganzzahldivision in Python 2 und Python 3: Eine Geschichte von zwei Ergebnissen

Die Division zweier Zahlen in Python scheint eine einfache Aufgabe zu sein, Es gibt jedoch einen subtilen Unterschied zwischen Python 2 und Python 3, der zu unerwarteten Ergebnissen führen kann.

In Python 2.7 ist das / Der Operator führt eine Ganzzahldivision durch, wenn beide Eingaben Ganzzahlen sind. Dies ergibt den ganzzahligen Quotienten, wobei alle Bruchteile verworfen werden. Beispielsweise ergibt 20/15 1, was das Ergebnis der ganzzahligen Division ist.

In Python 3 führt der /-Operator jedoch standardmäßig eine Float-Division durch, unabhängig von den Eingabetypen. Das bedeutet, dass 20/15 ein Float-Ergebnis von 1,3333333333333333 ergibt, das den Bruchteil beibehält.

Um eine ganzzahlige Division in Python 2 zu erreichen, können Sie den //-Operator verwenden, der den Quotienten auf die nächste ganze Zahl abrundet . Eine Modulo-Operation kann mit dem %-Operator durchgeführt werden. Zum Beispiel:

>> 7 // 2
3

>> 7 % 2
1

Damit sich Python 2 in Bezug auf die Float-Division wie Python 3 verhält, können Sie den speziellen Import verwenden:

from __future__ import division

Stellen Sie sicher, dass Sie dies vor allen anderen Importen in importieren Ihr Code.

Denken Sie also daran: In Python 2.7 ist die Ganzzahldivision standardmäßig /, während es in Python 3 umgekehrt ist. Um die Konsistenz zu gewährleisten, wird empfohlen, in beiden Python-Versionen die Float-Division mit dem /-Operator zu verwenden und die Integer-Division mit // und die Modulo-Division mit % explizit anzugeben.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der Ganzzahldivision in Python 2 und Python 3?. 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