2

Python で書かれたライブラリ「scikits-image」のソース コードを読んでいると、次のコード行が見つかりました。

n_cellsx = int(np.floor(sx // cx)) 

floorNumPy 関数と//演算子を結合する理由がわかりません。これを行う理由はありますか?見えない。同じことを2回やっている気がします。

プロジェクトはこちら

4

2 に答える 2

2

それを行う理由はなく//、整数または整数に対応する浮動小数を返すため、floor何もしません。

于 2012-08-02T09:40:21.953 に答える
1

なぜ全体を行うのかについては、次のゼロの指定された数をカットしたい場合があります...次の例を確認してください。

>>> int(np.floor(40 // 10))
Out[40]: 4

int だけを実行すると、40 になります。

なぜintの部分なのかというと、

>>> (49 // 10.0)
Out[50]: 4.0

ただし、コードが // の代わりに / を使用していた場合、またはプログラマーが同僚が // を / ... に置き換えることを恐れていない限り、 floor() 部分は何もしません。

于 2016-04-01T07:38:25.907 に答える