整數和浮點數
到目前為止,所看到的所有數值例子都是整數:int型。但實際上Python上還存在其他數字,我們需要能夠用它們來計算以及構建它們。
>>>print(3/4)
0.75
在該示例中,一個整數除以另一個整數,得出一個不是整數的結果,即 0.75。在 Python(和一般計算)中,我們將此類數字稱為浮點數(float),其英文全稱是 floating-point number。
即使 :一個整數可以整除另一個整數,其結果也將是一個浮點數
>>>print(16/4)
4.0
[注意:這是 Python 3 的代碼。Python 以前版本的概念不一樣 —— 在 Python 2 中,一個整數除以另一個整數將產生一個 int,即使預期的結果不是整數!Python 2 的這個概念與 Python 3 中的整數除法 (//) 類似。我們在本課程中使用 Python 3。]
一個整數和一個浮點數的運算將生成一個浮點數。
>>> 3 + 2.5
5.5
要生成一個整數,只要給出一個沒有小數點的整數即可。下面是一個整數:
>>> 387
如需要生成一個浮點數,包括一個小數點即可!如果數字本身是一個整數,也沒關系,甚至不必在小數點之后添加任何內容。以下為幾個浮點數:
>> 213.13
>> 341.
有時可能需要手動將一個數值類型轉換為另一個數值類型,這可通過 int() 和 float() 構造這些類型的新對象來實現。
>>> int(49.7)
49
>> int(16/4)
4
>>> float(3520+3239)
6759.0
將一個浮點數轉換成整數時,小數點后的部分會被去除。
所以我們看到Python具有兩個主要的數值類型——整數(int)和浮點數(float)。那么這兩種數值類型有什么用處呢?
int —— 大家可能經常需要對物品進行計數,或者需要一個整數的計算結果。int 類型在這方面正好可以派上用場。
float —— 如果你正在使用的數字不一定是一個整數,那么 float 可能就是你需要的類型!
浮點數是它們應該代表的數字的近似值。這是很有必要的,因為浮點數可以表示很大范圍內的數字,所以為了在計算機內存中存儲數字,Python 必須使用近似值。這個權衡有時會產生驚人的結果:
>>> print(0.1)
0.1
>>> print(0.1 + 0.1 + 0.1)
0.30000000000000004
因為 0.1 的浮點數(即近似值)實際上略超過 0.1,所以當我們將其中幾個值加到一起時,可以看到數學上的正確答案與 Python 所創建答案之間的區別。大多數情況下,這些小差異無關緊要,但了解這些差異的存在很重要!
Python 文檔對此進行了更多的解釋:'https://docs.python.org/3/tutorial/floatingpoint.html'