62

基数ソートからこのコードのサンプルに出くわしました:

def getDigit(num, base, digit_num):
    # pulls the selected digit
    return (num // base ** digit_num) % base

//は Python で何をしますか?

4

3 に答える 3

74

//フロア除算演算子です。整数オペランドの浮動小数点丸めなしで、オペランドの商の下限を生成します。これは、浮動小数点数で使用できる場合でも、整数除算と呼ばれることもあり/ます。

Python 3 では、/両方のオペランドが整数であっても、通常の除算演算子は浮動小数点値を返すため、フロア除算には別の演算子が必要です。/これは、オペランドの少なくとも 1 つが浮動小数点値である場合に両方のオペランドが整数である場合に床除算を実行し、浮動小数点除算を実行する Python 2 とは異なります。

演算子は、//Python 3 がこの新しい機能を持つべきであると決定されたとき、Python 2.2 で最初に前方互換性のために導入されました。from __future__ import division(Python 2.2 で導入された)を介して Python 3 の動作を有効にする機能と合わせて、 Python 2 で Python 3 互換のコードを記述できます。

于 2013-01-21T17:57:55.597 に答える
9

あなたはそれを試すことができます:

In []: 5/2
Out[]: 2

In []: 5.0/2
Out[]: 2.5

In []: 5.0//2
Out[]: 2.0

これは一目瞭然です。

(これは Python 2.7 にあります。)

于 2014-08-27T18:30:53.380 に答える