span
当我们做变量赋值操作时,等号右边的值默认是字符串类型。在某些情况下,我们需要转换数据类型。Python数据类型怎么转换?
数据类型转换语句
函数 | 说明 |
int(x [,base ]) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象x转换为字符串 |
解释:就是把一些值转换成特定的数据类型,例如把字符串'123' 转换成数字123
举例:
#提示用户录入他的年龄,然后打印他10年后多少岁
#1.提示用户录入年龄并接收
ageStr = input('请录入您的年龄:')
#2.将字符串数字转换成int数字
age = int(ageStr) # '33' --> 33 如果不转换会报错的
#3.打印结果
print(f'您的年龄是{age},10年后您的年龄是{age + 10}')
#4.打印类型
print(type(age))
复合写法,把10转换成字符串类型10。即:
print(type(str(10)))
eval函数
eval()函数,它里面接收的是字符串类型的数据,然后把该数据转换成对应的类型,即:相当于把引号去掉的类型。
举例:
print(type(eval('123'))) #打印结果:int类型
print(type(eval('10.3'))) #打印结果:float类型
print(type(eval('true'))) #打印结果:bool类型
print(type(eval('abc'))) #打印结果:报错,因为去掉引号abc程序无法识别,所以说明eval转字符串会有问题。
巧妙的使用eval函数,就可以不用去记像int、float、bool等这样的类型单词了。
扩展知识
Q:任何类型都可以转换成字符串,对不对?
A:正确。
Q:字符串可以随意转换成数字,对不对?
A:错误,字符串内必须只有数字才可以。
Q:浮点数转整数,会丢失什么?
A:丢失精度,也就是小数部分。