Python 3 中 `int( x / y )` 和 `x // y` 之间的区别?

问题描述 投票:0回答:2

在Python中(可能是四舍五入),楼层划分

x // y
与除法然后铸造(例如
int(x / y)
)之间是否有区别(如果有的话为什么?)?

python casting integer division floor-division
2个回答
3
投票

嗯,是的,正如其名称所示,

//
floors又名朝
-∞
舍入。
int
,另一方面

对于浮点数,它会向零截断。

因此,对于负面的任何划分,它们都会产生分歧。


0
投票

我可能迟到了,但无论如何。

根据其他人的答案,您可能遇到的最重要的区别是:

>>> -11 // 5
-3
>>> int(-11 / 5)
-2

tl;dr:这些不是相同的操作。

© www.soinside.com 2019 - 2024. All rights reserved.