Python數字和轉換

在本節中,我們來學習Python中的數字資料型別以及你可以對這些數字執行的數學運算。 此外,我們還會學習如何從一種資料型別轉換為另一種資料型別。

Python數字資料型別:

Python中的數字資料型別包括:

  1. 整數
  2. 浮點數字
  3. 複數

其中,複數有一個實部和一個虛部。 複數的形式為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