有时候,我们需要对数据进行类型转换,也有时候,python帮我们做了这个转换以便程序进行下去
- 前者我们称之为显式类型转换,比如:
int(3.1415)
,这里我们希望求得 3.1415的整数部分是多少,需要用int()
方法来进行显示转换 - 后者我们称之为隐式类型转换,比如:
4 > 3.1415
,这里我们希望对4
和3.1415
做比较,但前者是int类型,后者是float类型,两者并不能直接比较,需要统一成一种类型,所以这里python帮我们把4显式的转化为了float类型以做比较
1. 显式类型转换
1.1 使用 int()
把某种类型强制转化为整型
- 实例:
- 比如
int(10)
, 这里10本来就是整形,所以这里输出还是10
- 比如
int(3.14)
, 这里将3.14 float类型转化为整形,所以会有精度损失,即整形没办法表示小树部分,只能丢弃,最终得到3
- 比如
int("3")
,这里将字符串"3"
转化为整形,结果就是一个整数3
- 比如
- 转化失败的情况,因为只要是转化,就有成功和失败之说,成功了就会返回整形,失败了,就会报错:
- 比如:
int("hahaha")
会抛出异常:
- 比如:
>>> int("hahaha")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'hahaha'