使用其中一种有什么好处吗?在Python 2中,它们似乎都返回相同的结果:
>>> 6/3
2
>>> 6//3
2
使用其中一种有什么好处吗?在Python 2中,它们似乎都返回相同的结果:
>>> 6/3
2
>>> 6//3
2
当前回答
在Python 3中。X, 5 / 2返回2.5 5 // 2返回2。前者是浮点除法,后者是浮点除法,有时也称为整数除法。
在Python 2.2或更高版本的2。x行,对于整数没有区别,除非执行from __future__导入除法,这将导致Python 2。X采用3。x的行为。
无论将来导入什么,5.0 // 2都将返回2.0,因为这是操作的下限除法结果。
您可以在PEP 238:更改除法操作符中找到详细说明。
其他回答
5.0//2的结果是2.0,而不是2,因为//操作符返回值的返回类型遵循Python强制转换(类型强制转换)规则。
Python促进低数据类型(整数)到高数据类型(浮点数)的转换,以避免数据丢失。
//是楼层划分。它总是会给你结果的整数底。另一种是“常规”除法。
双斜杠//是层划分:
>>> 7//3
2
>>> print 5.0 / 2
2.5
>>> print 5.0 // 2
2.0
Python 2。x澄清:
为Python阐明2。X线,/既不是层除法也不是真除法。
当两个参数都为int时,/为整除;但当其中一个参数为float时,/为真除法。