字符串 string 数字 整型 int 浮点型 float 布尔型 bool 复数 complex 列表 list 元组 tuple 字典 dict 集合 set 数据类型的分类 可变数据类型: list,dict,set 不可变数据类型: string,number,tuple 容器数据类型: string,list,tuple,dict,set 非容器数据类型: number 数据类型转换的目的? 为了使数据可以进行运算;不同数据类型之间不能运算 数据类型转换的方式? 1.自动类型转换 2.强制类型转换 当两个数据类型不同的值进行运算时,结果向着更高的精度运算 bool ==> int ==> float ==> complex
a,b = 12,1.2 c = b + True print(c,type(c)) d = a + b print(d,type(d)) e = True + False print(e,type(e)) 2.2 <class 'float'> 13.2 <class 'float'> 1 <class 'int'>
使用下列函数可以把其他类型的数据转换为对应的数据类型
str()、int()、float()、bool()、list()、tuple()、dict()、set()
a1 = '22' a2 = '2.2' a3 = '12ab' b = 12 c = 3.2 d = True e = [1,'a'] f = (2,'b') g = {3:'three','c':10} h = {4,'d'} # 所有数据类型都可以转换为字符串类型 print(str(c),type(str(c))) print(str(d),type(str(d))) print(str(g),type(str(g))) print(str(h),type(str(h))) # 字符串内容是整数时可以转换为整型,其他容器类型数据不能转换为整型,浮点型转换为整型只保留整数部分 print(int(a1),type(int(a1))) print(int(c),type(int(c))) print(int(d),type(int(d))) # 字符串内容是数字时可以转换为浮点型,其他容器类型数据不能转换为浮点型 print(float(a1),type(float(a1))) print(float(a2),type(float(a2))) print(float(b),type(float(b))) print(float(d),type(float(d))) # 其他数据类型转换为布尔型时,有以下几种情况结果为False,其他情况结果为True # '' 0 0.0 False () [] {} set() print(bool(0.0),type(bool(0.0))) print(bool(set()),type(bool(set()))) 3.2 <class 'str'> True <class 'str'> {3: 'three', 'c': 10} <class 'str'> {'d', 4} <class 'str'> ------------------------------ 22 <class 'int'> 3 <class 'int'> 1 <class 'int'> ------------------------------ 22.0 <class 'float'> 2.2 <class 'float'> 12.0 <class 'float'> 1.0 <class 'float'> ------------------------------ False <class 'bool'> False <class 'bool'>