X/Yspa
在3.0版本以前的Python中命令行
>>>1/2io
0class
即一個整數(無小數部分的數)被另一個整數除,計算結果的小數部分被截除了,只留下了整數部分import
有時候,這個功能比較有用,譬如在作一些須要取位數上的值時能夠利用此特性用於循環結束等,但一般,你們用不到這種。循環
那麼,有兩種解決方式:程序
1)用實數(包含小數點的數)而不是整數進行運算方法
實數在Python中被稱爲浮點數(Float,或者Float-point number),只要參與運算的數字中有一個是浮點數,則爲浮點數運算,運算結果亦爲浮點數,也就不會截除小數部分im
如di
>>>1.0/2.0
0.5
>>>1/2.0
0.5
>>>1.2/2
0.5
>>>1/2.
0.5
2)讓Python改變除法的默認執行方式
能夠在程序中加入如下語句,或者在解釋器裏執行它:
>>>from_future_import division
還有另一種方法,若是經過命令行(如在Linux系統上)運行Python,能夠使用命令開關啊-Qnew
使用以上兩種方法。就能夠只執行普通的除法運算。
>>>1/2
0.5
此時,單斜線就再也不做爲整除了,可是Python提供了另一個用於實現整除的操做符--雙斜線:
>>>1//2
0
就算是浮點數,雙斜線也會執行整除
>>>1.0/2.0
0
Pytho3.0以後的版本中
在Python3.0中變成真除法(不管任何類型都會保持小數部分,即便整除也會表示爲浮點數形式)。
>>> 3/2
1.5
>>> 3/2.0
1.5
>>> 4/2
2.0
>>> 4/2.0
2.0