ich auf dieser Probe von Code aus einem radix sort kam:Zwei Schrägstriche in Python
def getDigit(num, base, digit_num):
# pulls the selected digit
return (num // base ** digit_num) % base
Was bedeutet die '//
' in Python tun?
ich auf dieser Probe von Code aus einem radix sort kam:Zwei Schrägstriche in Python
def getDigit(num, base, digit_num):
# pulls the selected digit
return (num // base ** digit_num) % base
Was bedeutet die '//
' in Python tun?
//
ist der Etagenbetreiber. Er erzeugt das Floor des Quotienten seiner Operanden, ohne Gleitkomma-Rundung für ganzzahlige Operanden. Dies wird manchmal auch als Ganzzahldivision bezeichnet, obwohl Sie sie mit Gleitkommazahlen verwenden können, da Ganzzahlen mit /
geteilt werden, die standardmäßig verwendet werden.
In Python 3 gibt der normale Divisionsoperator /
Gleitkommawerte zurück, selbst wenn beide Operanden Ganzzahlen sind. Daher wird für die Unterteilung ein anderer Operator benötigt. Dies unterscheidet sich von Python 2, wobei /
die Floor Division durchgeführt hat, wenn beide Operanden Integerwerte und Gleitkommadivision waren, wenn mindestens einer der Operanden ein Gleitkommawert war.
Der Operator //
wurde zuerst für die Abwärtskompatibilität in Python 2.2 eingeführt, als entschieden wurde, dass Python 3 diese neue Fähigkeit haben sollte. Zusammen mit der Fähigkeit, den Python 3 Verhalten über from __future__ import division
(auch in Python 2.2 eingeführt) zu ermöglichen, dies ermöglicht es Ihnen, Python 3-kompatibelen Code in Python 2.
Um dem Kommentar um @DSM hinzuzufügen - '//' bedeutet auch Integer-Division in python2.x. Wenn Sie Integer-Division machen wollen, sollten Sie '//' anstelle von '/' verwenden, unabhängig davon, welche Version von Python Sie verwenden. – mgilson
Es rundet gegen minus unendlich (d. H. Boden des Verhältnisses). Für negative Zahlen unterscheidet es sich von der ganzzahligen Division in C, die auf Null abrundet. http://python-history.blogspot.com/2010/08/why-pythons-integer-division-floors.html –
Sie können es einfach zu schreiben versuchen:
In []: 5/2
Out[]: 2
In []: 5.0/2
Out[]: 2.5
In []: 5.0//2
Out[]: 2.0
Dies sollte selbsterklärend sein.
(Dies ist in Python 2.7.)
-1: Eine Möglichkeit, etwas herauszufinden, ist durch Versuch und Irrtum. Ein anderes ist, indem man fragt. – DilithiumMatrix
Ein Weg, eine Frage zu beantworten, besteht darin, eine direkte Antwort zu geben, ein anderer, indem man auf die Richtung zeigt. Ich habe beides getan. – LWZ
Ich versuche nur, Ihnen eine Erklärung für den Downvote und ein Feedback-Mann zu geben. Basierend auf dem -1 für deine Antwort, vs. +13 für das Akzeptierte ... Ich denke, viele Leute stimmen zu, dass du es auch nicht getan hast. (direkt oder Richtung). – DilithiumMatrix
Mögliches Duplikat [Was bedeutet die "Variable // = ein Wert" Syntax in Python bedeuten?] (Http://stackoverflow.com/questions/40274205/what -does-the-variable-a-value-syntax-mean-in-python) – smci