繼上次的算術運算子之後,這次我們來介紹一下如何使用不同的工具來進行數字的類型轉換。
我們可以使用 int() 來將其他的 Python 數據類型轉型為整數。當然,不是所有東西都可以轉換為整數的,以下我們來一一說明:
Python 中最簡單的數據類型為布爾型,True / False。當我們使用 int() 來進行轉換之後,它們分別可以被轉換為 1 和 0。(注意,在 Python 中,True和False 的字首都需要大寫來,才能被辨識,若寫成小寫,則會出現 error。)
>>> int(True)
1
>>> int(False)
0
當浮數點轉換為整數時,後面的小數點會被舍去:
>>> int(94.3)
94
>>> int(1.0e4)
10000
亦可以將只有數字的字符串 (string) 轉換為整數:
>>> int(‘99’)
99
>>> int(‘-21’)
-21
>>> int(‘+22’)
22
如果我們將一大堆不止是數字的東西放進 int() 會及生什麼事?
>>> int(‘Cannot more than 87 score’)
Traceback (most recent call last):
File “<pyshell#5>”, line 1, in <module>
int(‘Cannot more than 87 score’)
ValueError: invalid literal for int() with base 10: ‘Cannot more than 87 score'
因為這些不只有數字的字串不能被 Python 的 compiler 所識別,也就是int()中不能接受這些數據,就會出現異常。
那浮數點是不是也有一樣的函數可以將其他的數字類型轉換成浮數點呢?
對的!跟整數一樣,布爾型在 float() 中會被轉換:
>>> float(True)
1.0
>>> float(False)
0.0
那整數又會如何?
>>> float(59)
59.0
>>> float(39)
39.0
最後,不論是字串、正負號及指數,都可以轉換為真正的浮點數:
>>> float(‘88.8’)
88.8
>>> float(‘-33.2’)
-33.2
>>> float(‘1.0e4’)
10000.0
最後,Python 包含著很多常用的數學函數,我推薦大家可以到:
https://docs.python.org/3/library/math.html
這邊仔細看看 Python 的 Math 庫的文件。
我們可以透過載入 math 這個函式庫來在 Python 使用不同的 math 函式!
>>> import math
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
我們可以使用 fabs() 用來獲得絕對值!
>>> math.fabs(98.6)
98.6
>>> math.fabs(-23)
23
當然少不了向上取整數( floor() )與向下取整數( ceil() )的函式吧。
>>> math.floor(98.6)
98
>>> math.floor(27.1)
27
>>> math.ceil(98.6)
99
>>> math.ceil(27.1)
28
使用sqrt()取得平方根。
>>>math.sqrt(100)
10.0
以下還有很多很多。。。
到這裡,我們開始導入了「庫」的概念,之後我們會使用更多更多的「庫」與框架來讓程式更方便地為我們所用!