Python中的除法


在C/C++語言對於整形數執行除法會進行地板除(舍去小數部分)。例如 int a=15/10; a的結果為1。

同樣的在Java中也是如此,所以兩個int型的數據相除需要返回一個浮點型數據的時候就需要強制類型轉換,例如 float a = (float)b/c ,其中b、c都是int型數據。

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))  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM