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

Difference between "a//b" and "int(a/b)"

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

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

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

来自 int docs:

For floating point numbers, this truncates towards zero.

来自 // docs:

Division of integers yields a float, while floor division of integers results in an integer; the result is that of mathematical division with the ‘floor’ function applied to the result.