Python 數字和轉換
Jinku Hu
2023年1月30日
在本節中,我們來學習 Python 中的數字資料型別以及你可以對這些數字執行的數學運算。此外,我們還會學習如何從一種資料型別轉換為另一種資料型別。
Python 數字資料型別
Python 中的數字資料型別包括:
- 整數
- 浮點數字
- 複數
其中,複數有一個實部和一個虛部。複數的形式為 x + yj
,其中 x
是實部,yj
是虛部。
函式 type()
用於獲取變數的資料型別,或者更簡單來說是一個物件。函式 isinstance()
用於檢視變數是否屬於某個特定的類。
x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3 + 3j
print("is", x, "a complex number:", isinstance(x, complex))
type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True
整數可以是任意長度,但浮點數只能達到 15 位小數。
整數也可以用二進位制、十六進位制和八進位制格式表示,它們通過使用字首來區分。如下表:
數字系統 | 字首 |
---|---|
二進位制 | 0b or 0B |
八進位制 | 0o or 0O |
十六進位制 | 0x or 0X |
舉例
>>> print(0b110)
6
>>> print(0xFA)
250
>>> print(0o12)
10
Python 數字型別轉換
隱式型別轉換
如果一個 float
型別的數字和另一個 int
型別的數字相加,那結果的資料型別將是 float
。這裡 int
被隱式轉換為 float
。
>>> 2 + 3.0
5.0
這種轉換被稱為隱式型別轉換。
顯式型別轉換
你也可以使用 int()
、float()
和 str()
等函式進行顯式數字資料型別轉換。
>>> x = 8
>>> print("Value of x = ", int(x))
Value of x = 8
>>> print("Converted Value of x = ", float(x))
Converted Value of x = 8.0
當浮點型別被轉換為整數型別時候,小數點後面的數字被捨去。
Python 分數
Python 中有一個 fractions
模組用於執行涉及分數的操作。fractions
模組可以將分數表示為分子/分母
的形式。
import fractions
print(fractions.Fraction(0.5))
1 / 2
fractions
模組中的 Fraction
函式將小數轉換為分數,然後你可以對這些分數執行數學運算:
print(Fraction(0.5) + Fraction(1.5))
print(Fraction(0.5) * Fraction(1.5))
print(Fraction(0.5) / Fraction(1.5))
2
3 / 4
1 / 3