int()
函数用于将数字或字符串转换为整数。它只能转换由纯数字组成的字符串,或者浮点数(会截断小数部分)。
print(int(1.2)) # 输出: 1
print(int("-123")) # 输出: -123
float()
函数用于将数字或字符串转换为浮点数。整数转换为浮点数时,会自动添加一位小数。
print(float(11)) # 输出: 11.0
print(float("-123.4")) # 输出: -123.4
str()
函数可以将任何类型的数据转换为字符串。浮点数转换为字符串时,会自动去掉末尾的零。
print(type(str(123))) # 输出:
st = str(-1.80)
print(st) # 输出: -1.8
print(str([1, 2, 3])) # 输出: [1, 2, 3]
eval()
函数可以将一个字符串作为 Python 表达式来执行,并返回表达式的结果。它可以实现字符串到列表、字典、元组等数据类型的转换。
print(2 + 3 * 4) # 输出: 14
print(eval('2 + 3 * 4')) # 输出: 14
print(eval('2' + '3*4')) # 输出: 92 2 + 3 之后 * 4
# 字符串转换为列表
str1 = "[[1,2],[3,4],[5,6]]"
print(eval(str1), type(eval(str1))) # 输出: [[1, 2], [3, 4], [5, 6]]
# 字符串转换为字典
str2 = "{'id':10008,'passwd':123456}"
print(eval(str2), type(eval(str2))) # 输出: {'id': 10008, 'passwd': 123456}
注意:
eval()
函数虽然功能强大,但存在安全风险,容易被恶意代码利用,因此在实际开发中应谨慎使用。
list()
函数用于将可迭代对象转换为列表。支持转换为列表的类型包括字符串、元组、字典和集合。
# 字符串转换为列表
print(list('abcdefgh')) # 输出: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
# 元组转换为列表
tuple1 = (1, 2, 3)
list1 = list(tuple1)
list1[1] = 3
print(list1) # 输出: [1, 3, 3]
# 字典转换为列表(取键作为列表的值)
print(list({"id": 1005, "passwd": '123456'})) # 输出: ['id', 'passwd']
# 集合转换为列表(先去重再转换)
print(list({'a', 'b', 'a', 'd'})) # 输出: ['a', 'b', 'd']
类型转换是 Python 编程中常见的操作,掌握 int()
、float()
、str()
、eval()
和 list()
等函数的使用方法,可以灵活处理不同类型的数据。需要注意的是,eval()
函数虽然功能强大,但存在安全风险,应谨慎使用。