Python数据类型转换

您所在的位置:网站首页 python字符串列表转换 Python数据类型转换

Python数据类型转换

2024-01-06 20:20| 来源: 网络整理| 查看: 265

Python数据类型转换 1. Python的数据类型2. Python数据类型转换2.1 自动类型转换2.2 强制类型转换2.2.1 其他转字符串2.2.2 其他转数字类型2.2.3 其他转列表类型2.2.4 其他转元组类型2.2.5 其他转集合类型2.2.6 其他转字典类型

1. Python的数据类型

上一遍博文已经详细地介绍了Python的数据类型,详见链接Python的变量命名及数据类型。

在这里总结一下Python的数据类型:

字符串类型 String数字类型 Number: 整形 int 浮点型 float 复数 complex布尔类型 Bool列表类型 List元组类型 Tuple字典类型 Dictionary集合类型 Set

可变数据类型:列表,字典,集合 不可变数据类型:字符串,数字类型,布尔类型,元组

容器类型数据:字符串,列表,元组,字典,集合 非容器类型数据:数字类型,布尔类型

2. Python数据类型转换

由于不同的数据类型之间是不能进行运算的,所以我们需要数据类型转换。Python中的数据类型转换有两种,一种是自动类型转换,即Python在计算中会自动地将不同类型的数据转换为同类型数据来进行计算;另一种是强制类型转换,即需要我们基于不同的开发需求,强制地将一个数据类型转换为另一个数据类型。

2.1 自动类型转换

当两个不同类型的数据进行运算时,结果会像更高精度进行计算,精度等级:布尔 < 整型 < 浮点型 < 复数。

a = 10 b = True print(a + b) # 11 ''' 在和数字运算时,True转为1,False转为0 ''' a = 10 b = 3.14 print(a + b) # 13.14 ''' 整型与浮点型运算时,整型转化为浮点型,结果也为浮点型 ''' 2.2 强制类型转换

str( ):可以把其他类型数据转化为字符串类型 int( ):可以把其他类型数据转化为整型 float( ):可以把其他类型数据转化为浮点型 bool( ):可以把其他类型数据转化为布尔类型 list( ):可以把其他类型数据转化为列表类型 tuple( ):可以把其他类型数据转化为元组类型 dict( ):可以把其他类型数据转化为字典类型 set( ):可以把其他类型数据转化为集合类型

2.2.1 其他转字符串

所有类型都可以转化为字符串类型。

a = 123 # int res = str(a) print(res, type(res)) # 123 a = True # bool res = str(a) print(res, type(res)) # True a = [1, 2, 3] # list res = str(a) print(res, type(res)) # [1, 2, 3] a = (1, 2, 3) # tuple res = str(a) print(res, type(res)) # (1, 2, 3) a = {1, 2, 3} # set res = str(a) # {1, 2, 3} print(res, type(res)) # {1, 2, 3} a = {1: 'a', 2: 'b'} # dict res = str(a) print(res, type(res)) # {1: 'a', 2: 'b'} 2.2.2 其他转数字类型

数字类型之间可以相互转换,但容器类型中只有字符串可以转换为数字类型,并且字符串中的元素必须为纯数字,否则无法转换。

''' 1. 数字类型之间相互转换 ''' a = 123 # int res = float(a) print(res, type(res)) # 123.0 a = True # bool res = float(a) print(res, type(res)) # 1.0 ''' 2. 字符串类型转数字类型 ''' a = '123' # str res = int(a) print(res, type(res)) # 123 a = '123abc' # str res = int(a) print(res, type(res)) # 此时python会报错,报错类型为TypeError a = [1, 2, 3] # list res = int(a) print(res, type(res)) # 此时同样会报错,因为除了字符串以外的其他容器类型都不可以转换成数字类型

其他类型转数字类型中有一个特殊情况,就是其他类型转布尔类型。 bool( ) 可以把其他类型转为True或False。

''' 1. 容器类型转布尔类型: 容器中为空 --> False 容器中有元素 --> True ''' a = '' # 空字符串 res = bool(a) print(res, type(res)) # False a = '0' # 字符串中有元素 res = bool(a) print(res, type(res)) # True a = [] # 空列表 res = bool(a) print(res, type(res)) # False a = [1, 2, 3] # 列表中有元素 res = bool(a) print(res, type(res)) # True a = tuple() # 空元组 res = bool(a) print(res, type(res)) # False a = dict() # 空字典 res = bool(a) print(res, type(res)) # False a = set() # 空集合 res = bool(a) print(res, type(res)) # False ''' 2. 数字类型转布尔类型: int类型中,0为False,其他为真 float类型中,0.0为False,其他为真 ''' a = 0 # int res = bool(a) print(res, type(res)) # False a = 0.0 # float res = bool(a) print(res, type(res)) # False a = 0.345 # float res = bool(a) print(res, type(res)) # True 2.2.3 其他转列表类型 数字类型是非容器类型,不能转换为列表字符串转列表时,会把字符串中的每一个字符当作列表的元素元组转列表时,会把字符串中的每一个字符当作列表的元素字典转列表时,只保留字典中的键集合转列表时,结果是无序的,因为集合本身就是无序的 a = '123' # str res = list(a) print(res, type(res)) # ['1', '2', '3'] a = (1, 2, 3) # tuple res = list(a) print(res, type(res)) # ['1', '2', '3'] a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'} # dict res = list(a) print(res, type(res)) # ['name', 'Age, 'Sex'] a = {'a', 'b', 1, 2, 'c'} # set res = print(a) print(res, type(res)) # ['b', 2, 1, 'a', 'c'] a = [1, 2, 3] # list res = tuple(a) print(res, type(res)) # (1, 2, 3)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3