我讀書用Python編寫的庫「scikits圖像」的源代碼,我發現的下一行代碼:爲什麼要在Python中結合np.floor函數和//運算符?
n_cellsx = int(np.floor(sx // cx))
我不知道爲什麼他們加入了NumPy的功能floor
和//
運營商。有沒有理由這樣做?我看不到。我覺得這是兩次做同樣的事情。
該項目是here
我讀書用Python編寫的庫「scikits圖像」的源代碼,我發現的下一行代碼:爲什麼要在Python中結合np.floor函數和//運算符?
n_cellsx = int(np.floor(sx // cx))
我不知道爲什麼他們加入了NumPy的功能floor
和//
運營商。有沒有理由這樣做?我看不到。我覺得這是兩次做同樣的事情。
該項目是here
沒有理由這樣做,//
將返回一個整數或相應整數一個浮點數,所以floor
不會做任何事情。
至於爲什麼做這件事:他們可能要削減給數以下的零......看看這個例子:
>>> int(np.floor(40 // 10))
Out[40]: 4
如果只是做整型,那麼他就得到40 ....
至於爲什麼INT部分,
>>> (49 // 10.0)
Out[50]: 4.0
地板()部分不做任何事情但是,除非使用的代碼有/代替//,或者程序員害怕一個同事可能用//替換// ...
看起來他真的很想要結果是一個'int'。 – 2012-07-31 23:32:11