2

我正在阅读用 Python 编写的库 'scikits-image' 的源代码,我找到了下一行代码:

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

我不知道他们为什么要加入 NumPy 函数floor//运算符。有什么理由这样做吗?我看不见。我觉得这是两次做同样的事情。

项目在这里

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 回答