文章目录
- 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
-
容器转换特性:
- 字典转列表/元组/集合时,只会保留键
- 集合转换会去除重复元素