Python 中的浮點數與整數

Namita Chaudhary 2023年1月30日
  1. Python 中的浮點與整數資料型別
  2. Python 中的數值資料型別
  3. Python 中的浮點與整數
Python 中的浮點數與整數

資料型別表示資料的型別,它決定了我們可以對資料執行什麼樣的操作。我們在 Python 程式設計中有很多資料型別,例如 int、float、List、Tuple 等等。

但是,本文將主要介紹整數和浮點型別。

Python 中的浮點與整數資料型別

變數儲存資料,每個資料或值都有一個與之關聯的型別。由於 Python 是一種動態型別語言,每當它從使用者那裡獲取輸入時,它都會將所有內容都作為字串資料型別:一個字元序列。

但將字串作為輸入並不總是如此。我們可能還需要一個整數,一個浮點數。

在這些情況下,我們需要將來自使用者端的輸入顯式轉換為整數或浮點型別,無論我們需要哪種型別。但是,除非我們將輸入轉換為其他資料型別,否則編譯器只會將其解釋為字串。

Python 中的數值資料型別

數值資料型別只儲存數字。整數、浮點數和複數值屬於數值資料型別。

Python 的 int、float 和 complex 類定義了資料型別。整數和浮點數都是不可變的資料型別,這意味著更改這些數字資料型別的值會導致建立新分配的物件。

在 Python 程式設計中,我們使用 type() 函式來確定特定變數的型別。

Python 中的整數資料型別

整數是沒有任何小數部分的數字,可以是正數、負數或零。我們可以說整數是沒有小數部分並且具有無限精度的整數。

整數可以用二進位制、八進位制和十六進位制格式表示。所有這些整數變數都是整數類的物件。

使用 type() 函式,我們可以檢查任何變數的型別,如下例所示。

a = 10
type(a)

輸出:

int

我們必須在從使用者獲取輸入時顯式轉換型別,為此我們使用 int() 函式將輸入轉換為整數。

下面的程式碼輸出顯示變數 b 型別是 str,一個字串,但其中儲存的值是一個整數。

print("Enter the value of b")
b = input()
print(b)
print(type(b))

輸出:

-6
-6
<class 'str'>

在下一個示例中,我們使用 int() 函式將輸入轉換為整數型別。

print("Enter the value of b")
b = int(input())
print(b)
print(type(b))

輸出:

Enter the value of b
10
10
<class 'int'>

每當我們必須對它們執行某些算術運算時,就需要將這些值轉換為它們的實際資料型別。

print("Enter the value of a")
a = input()
print("Enter the value of b")
b = input()
print(a + b)
print(type(a + b))

輸出:

Enter the value of a
2
Enter the value of b
3
23
<class 'str'>

在上面的示例中,作為輸入的兩個值不會轉換為 int 型別。因此,值 23 被連線而不是相加,因為字串型別使用+ 運算子連線兩個字串。

print("Enter the value of a")
a = int(input())
print("Enter the value of b")
b = int(input())
print(a + b)
print(type(a + b))

輸出:

Enter the value of a
2
Enter the value of b
3
5
<class 'int'>

在最後一個示例中,在將 ab 作為使用者輸入並將值 23 轉換為 int 型別之後,它們被正確新增並給出正確的預期結果。

Python 中的浮點資料型別

Python 中的浮點資料型別表示帶有小數部分或小數部分的實數。帶小數點的數字分為整數部分和小數部分,組合起來就是浮點數。

在 python 中,浮點值使用 64 位雙精度值表示。我們也可以使用字母 eE 以科學計數法表示浮點數,而寫在 e 之後的數字將代表 10 的冪。

我們使用 float() 函式將數字轉換為其浮點表示。我們在接受使用者輸入時在整數資料型別中討論的相同問題也出現在此處。

print("Enter the value in decimal: ")
a = input()
print(a)
print(type(a))

輸出:

Enter the value in decimal:
2.4
2.4
<class 'str'>

在上面的例子中,當我們從使用者那裡獲取我們的輸入並且使用者輸入了一個浮點值時,我們可以看到這個浮點值的型別仍然是一個字串。

這種資料型別的不匹配會導致算術運算的不規則性。例如,新增兩個未轉換為浮點型別的輸入值將給出兩個值的連線,而不是我們想要的加法運算。

因此,我們將輸入轉換為浮點資料型別以避免這些不規則性。讓我們看一下使用 float() 函式將值轉換為浮點型別的示例。

print("Enter the value in decimal: ")
a = float(input())
print(a)
print(type(a))

輸出:

Enter the value in decimal:
2.4
2.4
<class 'float'>

現在讓我們對浮點資料型別執行一些算術運算。在下一個示例中,我們嘗試將這兩個數字相減。

但是,使用者的兩個輸入數字並沒有顯式轉換為浮點型別。因此,操作 a-b 給出了一個錯誤,指出不能對字串變數執行 - 操作。

print("Enter the value of a")
a = input()
print("Enter the value of b")
b = input()
print(a - b)
print(type(a - b))

輸出:

Enter the value of a
2
Enter the value of b
4
Traceback (most recent call last):
  File "D:\ex1.py", line 5, in <module>
    print(a-b)
TypeError: unsupported operand type(s) for -: 'str' and 'str'

將輸入轉換為浮點型別後,也可以輕鬆正確地對浮點值進行算術運算。

print("Enter the value of a")
a = float(input())
print("Enter the value of b")
b = float(input())
print(a - b)
print(type(a - b))

輸出:

Enter the value of a
4
Enter the value of b
6
-2.0
<class 'float'>

許多人在使用 float 以及何時在程式中使用它時遇到問題。如果我們認為變數將包含小數點值,我們將它們轉換為浮點數。否則,將其轉換為整數。

principal = int(input())
rate = float(input())
time = int(input())

interest = principal * rate * time
print(interest)

輸出:

1200
2.5
2
6000.0

在上面的程式碼中,我們計算了單利,我們知道,本金和時間都是整數,而利率也可以是十進位制數。因此我們將其轉換為浮點型別。

但是,儲存在興趣變數中的簡單興趣是浮點資料型別,因為如果其運算元之一具有浮點型別,則基本算術運算預設將整數隱式轉換為浮點。

Python 中的浮點與整數

最好在 Python 中使用 int 資料型別,我們需要將物件的計數儲存在變數中,並在變數中使用浮點資料型別,我們對十進位制數執行操作。同樣,如果你在需要執行科學計算的程式中使用具有浮點資料型別的變數,也會有所幫助。

まとめ

在本文中,我們研究了資料型別數值資料型別,並詳細討論了整數和浮點資料型別。我們還討論了許多示例來展示 Python 中整數和浮點資料型別的工作原理。