2012-07-31 85 views
2

我讀書用Python編寫的庫「scikits圖像」的源代碼,我發現的下一行代碼:爲什麼要在Python中結合np.floor函數和//運算符?

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

我不知道爲什麼他們加入了NumPy的功能floor//運營商。有沒有理由這樣做?我看不到。我覺得這是兩次做同樣的事情。

該項目是here

+7

看起來他真的很想要結果是一個'int'。 – 2012-07-31 23:32:11

回答

2

沒有理由這樣做,//將返回一個整數或相應整數一個浮點數,所以floor不會做任何事情。

1

至於爲什麼做這件事:他們可能要削減數以下的零......看看這個例子:

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

如果只是做整型,那麼他就得到40 ....

至於爲什麼INT部分,

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

地板()部分不做任何事情但是,除非使用的代碼有/代替//,或者程序員害怕一個同事可能用//替換// ...

相關問題