Python2以及Python3中的除法


前言

在討論話題之前,我們先說下程序中除法的三種情況:

1. 傳統的除法,我稱之為整型地板除。在C、C++、Java中常見,特點是整數相除舍棄小數取整,浮點數相除則保留小數(如果有)。

1 >>>1/2
2 0
3 >>>1.0/2.0
4 0.5

2. 真實的除法,我稱之為精確除法。特點是無論整數還是浮點數,均保留小數(如果有)。

1 >>>1/2
2 0.5
3 >>>1.0/2.0
4 0.5

3. 只留整數的除法,我稱之為完全地板除。特點是無論整數還是浮點數,均不保留小數(如果有)。

>>>1//2
0
>>>1.0//2.0
0.0

好了,介紹完程序的三種除法,現在我們來說說Python中的除法。

Python2

1. python2中的除法與傳統語言(c、c++、java)無異,也是整型地板除。

 

2. 也可以進行精確除法,只需要在開頭加上 from __future__ import division 

   

 

3. 也可以進行完全地板除,只需要將 / 替換為 // 即可(這一點在3里也是完全一樣的)

   

 

Python3

1. Python3與Python2的一個巨大改變就是默認除法由整型地板除變為精確除法。

   這導致2的代碼在3里,所有整形相除的運算結果都會變化,所以很多人還堅持着2 ?

2. 可以加//實現完全地板除。(和2一樣)


免責聲明!

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



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