將兩個整數相加
使用 Python 處理數值資料是很容易的,打開 Python 環境執行下列程式碼:
print 2+3
當 Python 直譯器執行這段程式後,便會在螢幕上輸出 5
,這段程式碼做了兩件事:
- 計算
2+3
- 使用
print
將2+3
的結果印在螢幕上
如此一來,你已經使用 Python 程式語言完成了一個簡單的程式囉。
整數其它運算
在前面的例子裡,我們將兩個整數做了相加的動作,在 Python 中還支援其它的數值運算,比方說你可以執行下面這段程式碼:
print 3+5
print 100-50
print 13*14
print 5/2
print 8**2
print 13 % 2
便會得到這樣的結果:
8
50
182
2
64
1
整理一下,運算符號及運算方式如下表所示:
運算符號 | 運算方式 |
---|---|
+ |
加 |
- |
減 |
* |
乘 |
/ |
除(整數除法) |
** |
次方運算 |
% |
模運算(取餘數) |
其中要特別注意的是 /
這個運算符號,若是運算的數值為整數,則結果也是整數。以上述的程式碼為例,5 / 2
的結果為 2
而不是 2.5
,若要計算出 2.5
這樣的結果,下一節會介紹如何使用浮點數作運算。
提示: 在 Python 3 之後,
5 / 2
的結果會輸出2.5
認識浮點數
在前一節的例子,我們都是使用整數做運算,如果要表示帶有小數點的資料,可以使用 Python 程式語言中的浮點數(floating-point number)來表示,支援的運算符號與整數相同,如:
print 3.25 + 5.5
則會得到 8.75
這樣的結果,而上一節中 5 / 2
的例子若改為
print 5.0 / 2.0
則會印出 2.5
的結果。
使用浮點數可能會有數值誤差的問題,比方說
3.2 + 5.4
的答案是8.6000000000000014
而不會剛好是8.6
(雖然使用8.6
,但實際上卻是有誤差的數值),所以在使用浮點數運算時要十分小心。相關資訊可以參考: IEEE 754 浮點數運算標準
科學表示法
在 Python 中也可以使用科學表示法來處理數值資料,比如說:
print 1.5e2 + 10
會得到 160.0
,其中 1.5e2
便相當於 1.5 * 10**2
,也就是說 e
表示 10 的次方(也可以是 E
),而用科學表示法的數值皆為浮點數。
長整數
一般程式語言裡的整數長度是有限制的,例如說常見的整數範圍是 -2147483648
到 2147483647
。
不過在 Python 裡面內建有長整數的型別:
print 1234567890*1234567890
的結果就是:
1524157875019052100L
所以你也可以自己在一個整數後面添加一個 L
字元,使它成為長整數。
使用複數
除了整數、浮點數之外,Python 也可以處理複數(complex number),它是以 x + yj
的方式表示一個複數的實部(x
)及虛部(y
),所以你可以做這樣的運算:
print 1+2j**2
如此一來你便會得到 (-3+0j)
的資料。
試試看
- 以
2+3*4+6
為例,觀察運算符號彼此的優先順序關係。 - 要將整數轉型為浮點數,只需要加上
float
就可以,比方說float(3)
就相當於是3.0
的數值,試試看若使用int
將浮點數轉型成整數,小數點後的資料會被如何處理? - 試著運算大數字的運算(如:
2**100
),看看數值結果會如何,數字多大的時候會出現不一樣的狀況呢?
下一步...
我們已經學會如何處理數值資料了,如果打算將數值資料暫時存起來,或是以符號表示之,可以使用變數來儲存(或表示)。