588 Stimmen

Was ist der Unterschied zwischen '/' und '//' bei der Verwendung für die Division?

Gibt es einen Vorteil, den einen gegenüber dem anderen zu verwenden? In Python 2 scheinen sie beide die gleichen Ergebnisse zurückzugeben:

>>> 6/3
2
>>> 6//3
2

3 Stimmen

Bitte schauen Sie sich Das Problem mit der ganzzahligen Division an, um den Grund für die Einführung des // Operators zur Durchführung ganzzahliger Division zu erfahren.

13voto

>>> print 5.0 / 2
2.5

>>> print 5.0 // 2
2.0

7voto

Abrar Ahmad Punkte 99

Python 2.7 und andere kommende Versionen von Python:

  • Division (/)

Teilt den linken Operanden durch den rechten Operanden

Beispiel: 4 / 2 = 2

  • Ganzzahldivision (//)

Die Division der Operanden, bei der das Ergebnis der Quotient ist, bei dem die Ziffern nach dem Dezimalpunkt entfernt werden. Wenn jedoch einer der Operanden negativ ist, wird das Ergebnis abgerundet, d.h. weg von Null (in Richtung negativer Unendlichkeit):

Beispiele: 9//2 = 4 und 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

Sowohl der / Division- als auch der // Ganzzahldivisionsoperator arbeiten auf ähnliche Weise.

6voto

Adam Bellaire Punkte 103525

// ist die Bodenteilung. Es liefert immer die ganzzahlige Bodenfläche des Ergebnisses. Das andere ist die "normale" Division.

5voto

Mark Roddy Punkte 25266

Der doppelte Schrägstrich, //, ist die Bodenteilung:

>>> 7//3
2

4voto

jaya ram Punkte 31

Die vorherigen Antworten sind gut. Ich möchte noch einen weiteren Punkt hinzufügen. Bis zu bestimmten Werten ergeben beide denselben Quotienten. Danach funktioniert der Floor-Divisionsoperator (//) gut, aber nicht der Division (/) -Operator:

>>> int(755349677599789174 / 2) # Falsche Antwort
377674838799894592

>>> 755349677599789174 // 2     # Richtige Antwort
377674838799894587

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X