變量類型轉換:Python int、str、float轉換方法

在Python編程中,我們經常需要處理不同類型的數據,比如用戶輸入的數字、從文件中讀取的文本等。這些數據可能以不同的類型呈現,而有時候我們需要將它們轉換成另一種類型來進行計算或處理。這時候,變量類型轉換就派上用場了。Python提供了簡單的內置函數,可以輕鬆實現int(整數)、str(字符串)和float(浮點數)之間的轉換。

一、常見基本類型回顧

我們先回顧三種最基礎的數據類型:
- int(整數):沒有小數點的數字,例如 123-456
- str(字符串):由字符組成的序列,用單引號或雙引號包圍,例如 "hello"'123'
- float(浮點數):帶小數點的數字,例如 3.14-0.5

二、int 類型的轉換方法

1. int 轉 str

使用 str() 函數,可以將整數轉換爲字符串形式。轉換後,數字會變成字符序列。

示例

a = 100  # 定義一個整數變量
b = str(a)  # 將整數轉爲字符串
print(b)    # 輸出:'100'
print(type(b))  # 輸出:<class 'str'>  # 驗證類型已變爲字符串

2. int 轉 float

使用 float() 函數,可以將整數轉換爲浮點數(整數會自動添加小數點和 .0)。

示例

a = 5  # 整數變量
b = float(a)  # 轉爲浮點數
print(b)    # 輸出:5.0
print(type(b))  # 輸出:<class 'float'>

三、str 類型的轉換方法

1. str 轉 int

使用 int() 函數,可以將字符串轉換爲整數,但字符串必須是純數字(不含小數點或字母),否則會報錯。

正確示例

str_num = "123"  # 純數字字符串
int_num = int(str_num)  # 轉換爲整數
print(int_num)  # 輸出:123
print(type(int_num))  # 輸出:<class 'int'>

錯誤示例(轉換失敗):

str_num = "12.3"  # 含小數點,無法轉int
int_num = int(str_num)  # 報錯:ValueError: invalid literal for int() with base 10: '12.3'

str_num = "abc"  # 含字母,無法轉int
int_num = int(str_num)  # 報錯:ValueError: invalid literal for int() with base 10: 'abc'

2. str 轉 float

使用 float() 函數,可以將字符串轉換爲浮點數。字符串可以是純整數(如 "123")或帶小數點的數字(如 "12.3")。

示例

str_num1 = "456"
float_num1 = float(str_num1)
print(float_num1)  # 輸出:456.0

str_num2 = "78.9"
float_num2 = float(str_num2)
print(float_num2)  # 輸出:78.9

四、float 類型的轉換方法

1. float 轉 int

使用 int() 函數,可以將浮點數轉換爲整數,但會直接截斷小數部分(不是四捨五入)。

示例

a = 3.9  # 浮點數
b = int(a)  # 截斷小數部分
print(b)    # 輸出:3

a = 5.0  # 整數形式的浮點數
b = int(a)
print(b)    # 輸出:5

2. float 轉 str

使用 str() 函數,可以將浮點數轉換爲字符串,保留原有的數字形式(包括小數點)。

示例

a = 6.28  # 浮點數
b = str(a)  # 轉換爲字符串
print(b)    # 輸出:'6.28'
print(type(b))  # 輸出:<class 'str'>

五、常見問題與注意事項

  1. 轉換失敗的原因:如果字符串中包含非數字字符(如字母、特殊符號),轉換會拋出 ValueError。例如 int("12a3")float("abc") 都會報錯。

  2. 轉換前檢查:不確定字符串是否能安全轉換時,可以先用 try-except 捕獲錯誤,避免程序崩潰。

示例(錯誤處理)

str_num = "12.3"
try:
    int_num = int(str_num)
    print("轉換成功:", int_num)
except ValueError:
    print("轉換失敗!字符串無法轉爲整數")
# 輸出:轉換失敗!字符串無法轉爲整數

六、總結

Python類型轉換通過 int()str()float() 三個內置函數實現,核心是明確轉換規則:
- int ↔ str:字符串必須是純數字(intstr 簡單無風險)。
- str → float:字符串可含小數點,更靈活。
- float → int:會截斷小數部分,需注意結果是否符合預期。

多練習不同場景的轉換(如用戶輸入處理、數值計算),就能熟練掌握這些基礎技巧,避免因類型不匹配導致的錯誤。

小夜