类型转换目的:将不同类型的数据拼接到一起
name='sy'
age=21
print('我叫'+name+',今年'+age)
结果:
此时会报错,因为age与前面的’我叫’,name和‘,今年’数据类型都不相同 除了age为int型,其他都是str型
转换规则:
(一)将str转成int类型时,字符串必须为数字串(整数),不能是小数串 例如:
s1='123'
s2='123.45'
s3='hello'
print(int(s1))
print(int(s2))
print(int(s3))
输出结果:
123
Traceback (most recent call last): File “E:/Pythoncharm/main.py”,
line 5, in
print(int(s2)) ValueError: invalid literal for int() with base 10: ‘123.45’
报错原因:s2为小数串,不能从str转到int。s3为非数字串,不能转换
(二)float转成int类型,截取整数部分,舍掉小数部分
s1=123.45
print(int(s1))
输出结果:
123
(三)int和str转为float类型:文字类型(str
)无法转换,整数转为浮点数,末尾加.0
s1='123'
s2='123'
s3=True
s4='hello'
print(int(s1))
print(float(s2))
print(float(s3))
print(float(s4))
输出结果:
Traceback (most recent call last): File “E:/Pythoncharm/main.py”,
line 8, in
print(float(s4)) ValueError: could not convert string to float: ‘hello’ 123
123.0
1.0
报错原因:s4为文字类型,无法转换