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