“ a // b”和“ int(a / b)”之间的区别

时间:2019-08-12 05:24:40

标签: python casting floor-division

我知道a/b是浮点数除法,而a//b是Python的底数除法。
可以看出,int(a/b)的结果与底数除法相同,如果分子和分母是正数。但是在尝试-a//bint(-a/b)时会产生不同的结果。内部运作是什么?

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

int(a/b)与同等楼层划分(即a//b)有何不同?

1 个答案:

答案 0 :(得分:1)

来自int docs

  

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

来自// docs

  

整数除法产生一个浮点数,而整数除法产生一个整数;结果是将结果应用了“底数”功能的数学除法。