文章目錄
- Python 類型轉換詳解
- 基本類型轉換函數
- 1. 轉換為整數 (`int()`)
- 2. 轉換為浮點數 (`float()`)
- 3. 轉換為字符串 (`str()`)
- 4. 轉換為布爾值 (`bool()`)
- 容器類型轉換
- 1. 轉換為列表 (`list()`)
- 2. 轉換為元組 (`tuple()`)
- 3. 轉換為集合 (`set()`)
- 4. 轉換為字典 (`dict()`)
- 特殊類型轉換
- 1. ASCII碼轉換
- 2. 進制轉換
- 類型轉換注意事項
Python 類型轉換詳解
類型轉換是將一個數據類型的值轉換為另一個數據類型的過程。Python提供了多種內置函數來實現不同類型之間的轉換。
基本類型轉換函數
1. 轉換為整數 (int()
)
int(3.14) # 浮點轉整數 → 3
int("100") # 字符串轉整數 → 100
int(True) # 布爾轉整數 → 1
int("1010", 2) # 二進制字符串轉整數 → 10
2. 轉換為浮點數 (float()
)
float(10) # 整數轉浮點 → 10.0
float("3.14") # 字符串轉浮點 → 3.14
float(True) # 布爾轉浮點 → 1.0
3. 轉換為字符串 (str()
)
str(100) # 整數轉字符串 → "100"
str(3.14) # 浮點轉字符串 → "3.14"
str(True) # 布爾轉字符串 → "True"
4. 轉換為布爾值 (bool()
)
bool(0) # → False
bool(1) # → True
bool("") # 空字符串 → False
bool("Hello") # 非空字符串 → True
bool([]) # 空列表 → False
bool([1, 2]) # 非空列表 → True
容器類型轉換
1. 轉換為列表 (list()
)
list("abc") # 字符串轉列表 → ['a', 'b', 'c']
list((1, 2, 3)) # 元組轉列表 → [1, 2, 3]
list({1, 2, 3}) # 集合轉列表 → [1, 2, 3]
2. 轉換為元組 (tuple()
)
tuple([1, 2, 3]) # 列表轉元組 → (1, 2, 3)
tuple("abc") # 字符串轉元組 → ('a', 'b', 'c')
3. 轉換為集合 (set()
)
set([1, 2, 2, 3]) # 列表轉集合 → {1, 2, 3}
set("hello") # 字符串轉集合 → {'h', 'e', 'l', 'o'}
4. 轉換為字典 (dict()
)
dict([(1, 'a'), (2, 'b')]) # 元組列表轉字典 → {1: 'a', 2: 'b'}
dict(zip([1, 2], ['a', 'b'])) # zip對象轉字典 → {1: 'a', 2: 'b'}
特殊類型轉換
1. ASCII碼轉換
ord('A') # 字符轉ASCII碼 → 65
chr(65) # ASCII碼轉字符 → 'A'
2. 進制轉換
hex(255) # 轉十六進制字符串 → '0xff'
oct(64) # 轉八進制字符串 → '0o100'
bin(10) # 轉二進制字符串 → '0b1010'
類型轉換注意事項
-
兼容性檢查:轉換前應確保數據可以合法轉換
int("123abc") # 會引發 ValueError
-
精度損失:浮點轉整數會截斷小數部分
int(3.99) # → 3 (不是四舍五入)
-
隱式轉換:某些操作會自動進行類型轉換
3 + 4.5 # 整數3自動轉為浮點數 → 7.5
-
容器轉換特性:
- 字典轉列表/元組/集合時,只會保留鍵
- 集合轉換會去除重復元素