Python中的数据类型转换(干货满满哟)

什么是数据类型转换?就是将数据由当前类型变化为其他类型的操作。数据类型转换分为两类,分别是自动数据类型转换和强制数据类型转换。

自动转换(又称为隐式转换)

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

1.自动类型转换不需要人工干预;

2.自动类型转换大多发生在运算或者判断过程中;

3.转换时向着更加精确的类型转换。

示例代码:

newstring = 1.5

newnum = 1

print('newnum的类型是:',type(newnum),' newstring的类型是:',type(newstring))

newvalue = newstring + newnum #会向更精确的类型转换,所以这里应该是转换为浮点型

print('newstring + newnum = ',newvalue,'相加后的数据类型是:',type(newvalue))

输出结果如下:

Python中的数据类型转换(干货满满哟)

强制转换(又称为显式转换)

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

int() 将其他类型转换为整形:

1.浮点类型转换之后,舍去小数部分;

2.布尔值转换之后 True -> 1 False->0;

3.字符串转换,仅纯整型字符串可以转换(浮点型或者带有其他字符都不可以转换)

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

1.整型转换之后变为浮点型,后面+.0;

2.布尔值转换 True->1.0 False ->0.0;

3.字符串,只有纯整型字符串和纯浮点型字符串可以转换,其他都不可以。

complex() 将其他类型转换为复数类型:

1.整型转换之后变为 (整型+0j);

2.浮点型转换之后变为(浮点型 + 0j);

3.布尔值转化之后 True->(1+0j) False(0j);

4.字符串,纯整型和浮点型字符串可以转化,其他都不可以。

Python中的数据类型转换(干货满满哟)

bool() 将其他类型转换为布尔类型:

转换为布尔值False:

1.整型 0

2.浮点型 0.0

3.复数 0+0j

4.布尔 False

5.字符串 '' 空字符串

6.列表 [] 空列表

7.元组 ()空元组

8.字典 {} 空字典

9.集合 set() 空集合

除了以上这些,其他转换为布尔值都会得到True.

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() 将其他类型转换为字典类型

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

#var = [['cat', '黑猫警长'], ['mouse', '一只耳'], ['next', '请看夏季']]

var = [('cat', '黑猫警长'), ('mouse', '一只耳'), ('next', '请看夏季')]

#转换后为 {'cat': '黑猫警长', 'mouse': '一只耳', 'next': '请看夏季'}

更多干货请点击链接~欢迎关注我的知乎主页~有惊喜哟。

相关推荐