16. python 强制类型转换
通过type()函数检测数据类型
16.1 int()
强制转换为整型,数字类型之间是互相转换的,只有字符串可以转换为数字类型,并且字符串中的元素必须是纯数字,包括点号也不行,开头为正负(+/-)副号是可以转换的,否则无法转换。
16.2 float()
将其他类型数据转换为浮点型。浮点型转换为整型时不进行四舍五入,仅向下取整。布尔值也代表数字,True代表1,False代表0
16.3 str()
强制转换为字符串,所有的类型都可以转换成字符串类型
16.4 bool()
其他类型传数字类型有个特殊情况,就是其他类型传布尔类型,bool()可以将其他类型转换为True或者False
16.4.1 容器类型传布尔类型
容器类型数据:字符串,列表,元组,字典,集合
非容器类型数据: 数字类型,布尔类型
容器中有元素:True
容器中无元素:False
16.4.2 数字类型转布尔类型
int类型中,0为False,1为True
float类型中,0.0为False,其他为True
a = " " #空格元素
b = []
c = ()
d = {}
e = set()
print(bool(a))
print(bool(b))
print(bool(c))
print(bool(d))
print(bool(e))
True
False
False
False
False
a = 0.0
print(bool(a))
False
a = 0.000
print(bool(a))
False
a = 0.001
print(bool(a))
True
16.5 list()
16.5.1 数字类型转列表类型
数字类型是非容器类型的,不能转换为列表
16.5.2 字符串类型转列表类型
字符串转列表类型时,会把字符串中的每个字符素当成列表的元素
a = '123'
print(list(a))
['1', '2', '3']
16.5.3 元组转换列表
元组转换列表类型时,会把元组中的每个字符当成列表的元素
a = (1,2,3,'abcd')
print(list(a))
[1, 2, 3, 'abcd']