基数ソート からこのサンプルコードに出会いました:
def getDigit(num, base, digit_num):
# pulls the selected digit
return (num // base ** digit_num) % base
Pythonでは '//
'は何をしますか?
_//
_は階除算演算子です。整数オペランドの浮動小数点丸めなしで、オペランドの商の下限を生成します。これは、整数を_/
_で除算するのがデフォルトで使用されるため、浮動小数点数で使用できる場合でも、整数除算とも呼ばれます。
Python 3では、通常の_/
_除算演算子は、両方のオペランドが整数であっても浮動小数点値を返すため、フロア除算には異なる演算子が必要です。これは、Python 2とは異なります。ここで_/
_は、両方のオペランドが整数である場合にフロア除算を実行し、オペランドの少なくとも1つが浮動小数点値である場合に浮動小数点除算を実行します。
_//
_演算子は、Python 3にこの新しい機能が必要であると決定されたときに、Python 2.2で前方互換性のために最初に導入されました。 _from __future__ import division
_(Python 2.2でも導入)を介してPython 3の動作を有効にする機能とともに、これによりPython 3- Pythonの互換コード2。
あなたはそれを試すことができます:
In []: 5/2
Out[]: 2
In []: 5.0/2
Out[]: 2.5
In []: 5.0//2
Out[]: 2.0
これは一目瞭然です。
(これはPython 2.7にあります。)