Python 數字和轉換

Jinku Hu 2023年1月30日 2018年3月7日
  1. Python 數字資料型別
  2. Python 數字型別轉換
  3. Python 分數
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
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn