当前位置:首页 » Python技术

Python中的除法

2014-02-27 22:51 本站整理 浏览(42)
在C语言对于整形数执行除法会进行地板除(舍去小数部分)。例如 int a=15/10; a的结果为1。
Python中分为3种除法:传统除法、精确除法、地板除。
传统除法
如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。
>>>1/2  
0  
>>>1.0/2.0  
0.5

精确除法
除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from __future__ import division 指令就可以做到这一点。
>>>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))

原文地址:点击打开链接