沒有上限?
在Python,數字基本上是沒有上限的。也不是說沒有沒有上限,就用到電腦記憶體用完為止。有些程式語言的數字的值都有一個限制,超過就會發生溢位(overflow)。什麼是溢位? 就像你車子的里程表,假設全部有6個位數,也就是最大顯示是999999,但只要超過這個數字就會從000000開始,在處理資料的時候,這通常不會是你想要的結果。而Python沒有這個問題,也就是因為這樣,Python可以拿來算很大的數字都是ok的。
數字裡面,只要有小數點就會被視為浮點數,而浮點數會有誤差,例如:
1
| |
算出來的結果應該跟我們人類的腦袋不太一樣。如果你有這方面的需求,可以藉助Decimal模組的幫忙:
>>> from decimal import *
>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')
Decimal('0.0')
這樣算出來應該就會是你要的了。
四則運算
基本上跟我們在小學時候學的差不多,就加+、減-、乘*、除/,先乘除後加減,如果遇到括號要先處理。這些都差不多,不過"除法"比較不一樣一點,如果除數跟被除數都是整數的話,那算出來的結果就會是整數,例如:
print 10/3 # 3
如果你在除數或被除數其中一個加上小數點,讓它變成浮點數型態的話,算出來就又不一樣了:
print 10.0/3 # 3.333333333
但如果你想要強迫進行整數除法的話,請使用//:
print 10.0//3 # 3.0
次方則是使用**:
print 2**3 # 8
型態轉換可使用int()、float()、complex()等方法來把原來的數字轉換成整數、浮點數以及複數型態。
再來,我們來看看Python的Boolean型態..