除法:传统除法、floor和真除法

来源:互联网 发布:sql rownum 编辑:程序博客网 时间:2024/05/01 16:35
除法:传统除法、floor和真除法


有三种类型的除法操作符,其中一种操作符在python 3.0 中有了变化
x/y:
传统除法和真除法。在python2.7之前,这个操作对于整数会省去小数部分,对于浮点数会保持小数部分
在python 3.0版本中会变成真除法(无论任何类型都会保持小数部分)


x//y:
floor除法。这个操作不考虑操作对象的类型,总会省略掉结果的小数部分,剩下最小的能整除的部分。如果有浮点型则返回浮点型,如果是整数则返回整数
//操作符通常叫做截断除法,但是更准确的说法是floor除法,它把结果向下截断到它的下层,即正真结果之下最接近的整数。其直接效果是向下舍入,并不是严格地截断,并且对负数也有效
添加真除法是为了解决最初的传统除法的结果,依赖于操作数类型,这样会使结果在python这样的动态类型语言中难以预料
由于这一限制,python3取消了传统除法:/和//操作符在python3.0中分别实现真除法和floor除法


在3.0中 /返回浮点结果,//是floor除法,返回整数




math中的方法
 floor trunc
 math.floor(2.5) 2
 math.floor(-2.5) -3
 math.trunc(2.5) 2
 math.trunc(-2.5) -2

0 0
原创粉丝点击