Python で書かれたライブラリ「scikits-image」のソース コードを読んでいると、次のコード行が見つかりました。
n_cellsx = int(np.floor(sx // cx))
floor
NumPy 関数と//
演算子を結合する理由がわかりません。これを行う理由はありますか?見えない。同じことを2回やっている気がします。
プロジェクトはこちら
それを行う理由はなく//
、整数または整数に対応する浮動小数を返すため、floor
何もしません。
なぜ全体を行うのかについては、次のゼロの指定された数をカットしたい場合があります...次の例を確認してください。
>>> int(np.floor(40 // 10))
Out[40]: 4
int だけを実行すると、40 になります。
なぜintの部分なのかというと、
>>> (49 // 10.0)
Out[50]: 4.0
ただし、コードが // の代わりに / を使用していた場合、またはプログラマーが同僚が // を / ... に置き換えることを恐れていない限り、 floor() 部分は何もしません。