除法:传统除法、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
版权声明:本文为wutongyu_314原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。