Python中分为3种除法:传统除法、精确除法、地板除。
传统除法
如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。
精确除法
除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from __future__ import division 指令就可以做到这一点。
地板除
从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。
内建函数divmod()
divmod (a,b),返回(a//b,a%b)
/或//
python中除法的语法形式为:
- ’/’
- ’//’
python中除法的类型为:
- 传统除法(divide)
- Floor除法(floor_division)
- 真除法(true_divide)
除数和被除数的类型组合:
- 都为整数
- 一整一浮点
- 都为浮点
除法的范围结果:
- 整数
- 浮点数(取整浮点数,带余数浮点数)
有两种除法运算符:’/’和’//’;
有三种类型的除法:传统除法(divide)、Floor除法(floor_division)和真除法(true_divide)
概括来讲
- 在Python 3.0中
- /现在总是执行真除法,不管操作数的类型,都返回包含任何余数的一个浮点数。
- //执行Floor除法,首先肯定为向下取整,并且针对整数操作数返回一个向下取整整数,如果有任何一个操作数是浮点类型,则返回一个向下取整浮点数。
- 在Python 2.7中
- /表示传统除法,如果两个操作数都是整数的话,执行截断的整数除法,返回整数;否则,执行浮点除注(保留余数),返回浮点数。
- //执行Floor除法,首先肯定为向下取整,并且像在Python 3.0中一样工作,并且针对整数操作数返回一个向下取整整数,如果有任何一个操作数是浮点类型,则返回一个向下取整浮点数。
总结:
/在python2.7中表示传统除法,在python3.0中表示真除法
//在python2.7和python3.0中都表示Floor除法
Numpy中除法
- divide函数在整数和浮点数除法中均只保留整数部分
- true_divide函数与数学中的除法定义更为接近,即返回除法的浮点数结果而不作截断
- floor_divide函数总是返回整数结果,相当于先调用divide函数再调用floor函数。floor函数将对浮点数进行向下取整并返回整数