Python中分为3种除法:传统除法、精确除法、地板除。
传统除法
如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。
- >>>1/2
- 0
- >>>1.0/2.0
- 0.5
除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from __future__ import division(future前后都是两个下划线:__future__) 指令就可以做到这一点。
- >>>from __future__ import division
- >>>1/2
- 0.5
- >>>1.0/2.0
- 0.5
从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。
- >>>1//2
- 0
- >>>1.0//2
- 0
- >>>-1//2.0
- -1
内建函数divmod()
divmod (a,b),返回(a//b,a%b)
- >>>divmod(1,2)
- (0,1)
- >>>divmod(3.14159,1.5)
- (2.0,0.4159000000000002)
- >>>5+6j//3+2j
- 2+0j
- >>>5+6j%3+2j
- -1+2j
- >>>divmod(5+6j,3+2j)
- ((2+0j),(-1+2j))