3-数据类型转换

数据类型转换

将数据有当前类型变化为其他类型的操作就是数据类型转换。

数据类型转换分类:

数据类型转换一共分为2类:自动数据类型转换(隐式转换)和强制数据类型转换(显示转换)

自动数据类型转换/隐式转换

自动类型转换是程序根据运算要求进行的转换,不需要人工干预

1.自动类型转换不需要人工干预
2.自动类型转换多发生在运算或者判断过程中
3.转化时向着更加精确的类型转换

强制类型转换/显示转换

根据程序需要,由编写程序人员人为改变数据类型的方式就是强制数据类型转换。

int() 将其他类型转化为整型

1.数字整型转化之后,还是原来的味道
2.浮点类型转化之后,舍去小数部分
3.布尔值转化之后 True -> 1 False->0
4.字符串转换,仅纯整型字符串可以转化(浮点型或者带有其他字符都不可以转化)
5.复数不可以转换

float() 将其他类型转化为浮点型

1.整型转换之后变为浮点型,后面+.0
2.浮点数不需要转化,转化也不会变化
3.布尔值转化 True->1.0  False ->0.0
4.字符串,纯整型字符串和纯浮点型字符串可以转换,其他都不可以

complex() 将其他数据转化为复数

1.整型转换之后变为 (整型+0j)
2.浮点型转换之后变为(浮点型 + 0j)
3.布尔值转化之后 True->(1+0j) False(0j)
4.字符串,纯整型和浮点型字符串可以转化,其他都不行
5.复数,无需转换

bool() 将其他类型转化为布尔值

转化为布尔值false的情况

1.整型   0
2.浮点型  0.0
3.复数  0+0j
4.布尔  False
5.字符串  '' 空字符串
6.列表   [] 空列表
7.元组   ()空元组
8.字典   {} 空字典
9.集合   set() 空集合

str() 将其他类型转化为字符串

所有转换均改变类型为字符串,表示方式依旧不变

list() 将其他类型转化为列表类型

在python中有5种可迭代序列,可以互相转换,他们分别是:

字符串,列表,元组,字典,集合

例如: 

    var = ('张三','李四','王老五')

    newvar = list(var)

    newvar的值为 ['张三','李四','王老五']

注意:

1.字符串转换时每个字符变成列表中的一个值
2.字典类型转换时,仅将字典的键部分转换成列表,忽略值部分

tuple() 将其他类型转化为元组类型

例如: 

    var = {'张三','李四','王老五'}

    newvar = tuple(var)

    newvar的值为 ('张三','李四','王老五')

注意:

1.字符串转换时每个字符变成元组中的一个值
2.字典类型转换时,仅将字典的键部分转换成元组,忽略值部分

set() 将其他类型转化为集合类型

例如:
    var = ['张三','李四','王老五']

    newvar = set(var)

    newvar的值为 {'张三','李四','王老五'}  #值的顺序不定

注意:

1.字符串转换时每个字符变成集合中的一个值
2.字典类型转换时,仅将字典的键部分转换集合,忽略值部分

dict() 将其他类型转换为字典类型

其他类型转化为字典时需要按照指定的格式才可以转化:(列表和元组的组合可以)

[['cat', '黑猫警长'], ['mouse', '一只耳'], ['next', '请看下集']]
[('cat', '黑猫警长'), ('mouse', '一只耳'), ('next', '请看下集')]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容