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!