2024-03-29 12:32:20 发布
网友
一个比一个有用吗?在Python 2中,它们似乎都返回相同的结果:
>>> 6/3 2 >>> 6//3 2
这有助于澄清Python 2.x行,/既不是floor除法,也不是真正的除法。目前接受的答案对此并不清楚。/当两个参数都是int时是floor division,但当其中一个或两个参数都是float时是true division。
/
以上所说的比公认答案中的第二段要清楚得多。
在Python 3.0中,5 / 2将返回2.5,5 // 2将返回2。前者是浮点除法,后者是floor除法,有时也称整数除法。
5 / 2
2.5
5 // 2
2
在Python 2.2或更高版本的2.x行中,整数没有区别,除非执行from __future__ import division,这会导致python2.x采用3.0的行为
from __future__ import division
不管将来的导入如何,5.0 // 2都将返回2.0,因为这是操作的楼层划分结果。
5.0 // 2
2.0
您可以在https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator找到详细说明
//实现“floor division”,而不考虑类型。所以 1.0/2.0将给出0.5,但是1/2、1//2和1.0//2.0都将给出0。
//
1.0/2.0
0.5
1/2
1//2
1.0//2.0
0
详见https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator
这有助于澄清Python 2.x行,
/
既不是floor除法,也不是真正的除法。目前接受的答案对此并不清楚。/
当两个参数都是int时是floor division,但当其中一个或两个参数都是float时是true division。以上所说的比公认答案中的第二段要清楚得多。
在Python 3.0中,
5 / 2
将返回2.5
,5 // 2
将返回2
。前者是浮点除法,后者是floor除法,有时也称整数除法。在Python 2.2或更高版本的2.x行中,整数没有区别,除非执行
from __future__ import division
,这会导致python2.x采用3.0的行为不管将来的导入如何,
5.0 // 2
都将返回2.0
,因为这是操作的楼层划分结果。您可以在https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator找到详细说明
//
实现“floor division”,而不考虑类型。所以1.0/2.0
将给出0.5
,但是1/2
、1//2
和1.0//2.0
都将给出0
。详见https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator
相关问题 更多 >
编程相关推荐