Python中除法:/和//


在Python中,除法有兩種:/和//。

X / Y

 對於Python2.X來說,如果兩個操作數都是整數,那么結果將向下取整(這個和C里面的不同,C里面是向0取整),也就是說,如果結果本來是-2.5,那么向下取整為-3,如果結果本來是2.5,那么向下取整為2;如果兩個操作數有浮點數,那么就是浮點數除法,結果就是浮點數除法;對於Python3.X來說,不管操作數有沒有浮點數,都是浮點數除法:

5 / -2
#2.X 商:-3 余數:-1
#3.X 商:-2.5 余數:-1
#C 商:-2 余數:1

5.0 / -2
#2.X 商:-2.5 余數:-1.0
#3.X 商:-2.5 余數:-1.0
#C 商:-2.5 余數:C中的%取余運算符不支持浮點數類型

上面比較有意思的是對於%取余運算,在Python中,和C語法不同的是,取余運算符支持浮點數運算,並且如果操作數有浮點數,那么返回的結果類型也是浮點型。

 

X // Y

//運算對於Python2.X和Python3.X來說,效果是一樣的,無論操作數都是整數,還是包括浮點數,//都會向下取整,當然對於有浮點數的計算,結果仍會以浮點數形式返回,比如-5.0 // 2,結果是-3.0:

-5 // 2
#2.X 商:-3 余數:1
#3.X 商:-3 余數:1
#C 商:-2 余數:-1

-5.0 // 2
#2.X 商:-3.0 余數:1.0
#3.X 商:-3.0 余數:1.0
#C 商:-2.5 余數:C的取余運算不支持浮點數

 

通過上面的例子可以知道,在Python中,余數的符號和除數相同(而在C中,余數的符號和被除數相同),有了這一點,就可以算出商的大小和符號


免責聲明!

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



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