使用其中一种有什么好处吗?在Python 2中,它们似乎都返回相同的结果:

>>> 6/3
2
>>> 6//3
2

当前回答

//实现“楼层划分”,不管你的类型是什么。所以 1.0/2.0会得到0.5,但是1/2 1//2和1.0//2.0都会得到0。

详见PEP 238:更改除法运算符。

其他回答

//是楼层划分。它总是会给你结果的整数底。另一种是“常规”除法。

双斜杠//是层划分:

>>> 7//3
2

5.0//2的结果是2.0,而不是2,因为//操作符返回值的返回类型遵循Python强制转换(类型强制转换)规则。

Python促进低数据类型(整数)到高数据类型(浮点数)的转换,以避免数据丢失。

方程的答案四舍五入到下一个较小的整数或以。0作为小数点的浮点数。

>>>print 5//2
2
>>> print 5.0//2
2.0
>>>print 5//2.0
2.0
>>>print 5.0//2.0
2.0

//实现“楼层划分”,不管你的类型是什么。所以 1.0/2.0会得到0.5,但是1/2 1//2和1.0//2.0都会得到0。

详见PEP 238:更改除法运算符。