python除法版本差别

python2.x存在有两种除法

 第一,x、y都是整型,运算按整除进行,如1/2=0;x、y其一为浮点型,就会进行所谓的true除法(我也不懂),1.0/2=0.5,1/2.0=0.5,1.0/2.0=0.5。
第二,float除法即得到不大于结果的最大整数值,这个 运算时与操作数无关的。比如,1//2=0,1.0//2=0.0,-1//2=-1,-1.0//2=-1.0,1.0//2.0=0.0

python3.x:x/y只存在true除法,1/2=0.5,-1/2=-0.5。x//y则如下,1//2=0,-1//2=-1

在代码前加入from future import division,如下:
1/2=0
1//2=0
from future import division
1/2=0.5
导入精确除法后,若要执行截断除法,可以使用”//“操作符:
1//2=0

参考:http://www.cnblogs.com/feixingfei/archive/2011/12/18/2297596.html

      http://blog.sina.com.cn/s/blog_6f07b6eb0100oi4l.html

python2.x:round(1.0/2.0)=1.0
python3.x:round(1.0/2.0)=0

这是很无门的东西,我也是拿来打发时间。有不当或不准确的地方多多指点

你可能感兴趣的:(python除法版本差别)