标签: python casting floor-division
我知道a/b是浮点数除法,而a//b是Python的底数除法。可以看出,int(a/b)的结果与底数除法相同,如果分子和分母是正数。但是在尝试-a//b和int(-a/b)时会产生不同的结果。内部运作是什么?
a/b
a//b
int(a/b)
-a//b
int(-a/b)
>>> int(-5/3) -1 >>> -5//3 -2
int(a/b)与同等楼层划分(即a//b)有何不同?
答案 0 :(得分:1)
来自int docs:
int
对于浮点数,它会截断为零。
来自// docs:
//
整数除法产生一个浮点数,而整数除法产生一个整数;结果是将结果应用了“底数”功能的数学除法。