数据类型转换
程序自发的行为,在需要的情况下进行的操作,无法干预,自动类型转换多发生运算或者判断过程当中
1 2 3 4 5 6 7 8 9 10 11 12 13
| #声明一个整数 intvar = 99 #声明一个浮点数 floatvar = 5.56
#加法运算(发生了自动类型转换! 自动的操作) result = intvar + floatvar #intvar 转换成了浮点数 99 -> 99.0 print(result) print(type(result))
#判断情况 if -5:#整型转化为布尔值 print('python大法好')
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 1.int() 强制转换为整型 Int
#var = 8.9 #var = False #var = '99' #打印原有数据类型和值 print(var,type(var)) #强制转换操作 newvar = int(var) #打印转换之后的数据类型和值 print(newvar,type(newvar))
1.整型不需要转换 2.浮点型转换为整型,去掉小数部分 3.布尔值转换为整型,True转换为1, False转换为0 4.复数无法转换为整型 5.字符串只有纯整数的字符串可以转换,其余都不行 6.列表不能转换 7.元组不能转换 8.集合不能转换 9.字典不能转换
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 2.float() 强制转换为浮点型 Float
#var = 88 #var = True #var = '9.9' #打印原有类型和值 print(var,type(var)) #强制转换过程 newvar = float(var) #打印转换之后的类型和值 print(newvar,type(newvar))
1.整型转换为浮点型,添加.0即可 2.浮点型无需转换 3.布尔值转换为浮点型,True转换1.0,False转换为0.0 4.复数无法转换为浮点型 5.字符串只要是数值类型的字符串就可以转换 6.列表不能转换 7.元组不能转换 8.集合不能转换 9.字典不能转换
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 3.bool() 强制转换为布尔类型 Bool
#var = 0 #var = 0.0 #var = False #var = 0 + 0j #var = '' #var = [] #var = () #var = set() #var = {'a':1,'b':2} print(var,type(var)) newvar = bool(var) print(newvar,type(newvar))
(必须记忆转换为False情况) 1.整型0 2.浮点型0.0 3.布尔值的False 4.复数0j 5.字符串的空字符串'' 6.空列表[] 7.空元组() 8.空集合set() 9.空字典{}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 4.complex() 强制转换为复数 Complex
#var = 88 #var = 8.9 #var = True #var = '9.9' print(var,type(var)) newvar = complex(var) print(newvar,type(newvar))
1.整型转换为复数后面+0j 2.浮点型转换为复数后面+0j 3.布尔值 True -> 1+0j , False ->0j 4.复数无需转换 5.字符串只有纯数值的字符串可以转换,后面+0j 6.列表不能转换 7.元组不能转换 8.集合不能转换 9.字典不能转换
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 5.str() 强制转换为字符串 Str
#var = 19 #var = 7.8 #var = False #var = 9 + 2j #var = '小飞机' #var = [1,2,3,5,67] #var = (1,2,3,5,7) #-> '(1,2,3,5,7)' #var = {1,2,3,5,6} #var = {'a':1,'b':2} print(var,type(var)) newvar = str(var) print(newvar,type(newvar))
1.所有数据转换为字符串都是变成字符格式的内容而已。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 6.list() 强制转换为列表 List
#var = '唧唧复唧唧,木兰当户织' #var = (1,2,3,4,5,6,7,8,9) #var = {1,2,3,5,6,8,9} var = {'a':1,'b':2,'c':3} print(var,type(var)) newvar = list(var) print(newvar,type(newvar))
1.整型不可以转换 2.浮点型不可以转换 3.布尔值不可转换 4.复数不可以转换 5.字符串转换为列表,每个字符变成列表中的每个值 6.列表类型不需要转换 7.元组转换为列表,类型改变,内容不变 8.集合转换为列表,类型改变,内容不变,顺序随机 9.字典转换为列表仅保留键,舍弃值
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 7.tuple() 强制转换为元组 Tuple
#var = '唧唧复唧唧,木兰当户织' #var = [2,3,5,6,7] #var = {1,2,3,5,6,8,9} #var = {'a':1,'b':2,'c':3} print(var,type(var)) newvar = tuple(var) print(newvar,type(newvar))
1.整型不可以转换 2.浮点型不可以转换 3.布尔值不可转换 4.复数不可以转换 5.字符串转换为元组,每个字符变成元组中的每个值 6.列表转换为元组,内容和顺序不变,类型改变 7.元组无需转换 8.集合转换为元组,类型改变,内容不变,顺序随机 9.字典转换为元组仅保留键,舍弃值
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 8.set() 强制转换为集合 Set
#var = '唧唧复唧唧,木兰当户织' #var = [2,3,5,6,7,2,3,5,6,7] #var = (1,2,3,4,5,6,7,8,9,8,8,8,8) var = {'a':1,'b':2,'c':3} print(var,type(var)) newvar = set(var) print(newvar,type(newvar))
1.整型不可以转换 2.浮点型不可以转换 3.布尔值不可转换 4.复数不可以转换 5.字符串转换为集合,去掉重复的数据,每个字符变成集合的每个值,顺序随机 6.列表转换为集合,去掉重复的数据,剩下的值变成集合的值,顺序随机 7.元组转换为集合,去掉重复的数据,剩下的值变成集合的值,顺序随机 8.集合无需转换 9.字典转换为集合,将字典的键变成集合的值,字典的值舍弃
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 9.dict() 强制转换为字典 Dict
#var = 9.9 #var = '唧唧复唧唧,木兰当户织' var = [['A',1],['B',2],['C',3],['D',4]]#二级列表 var = ((1,1.1),(2,2.2),(3,3.3))#二级元组 var = {(1,2),(3,4)}#二级容器 print(var,type(var)) newvar = dict(var) print(newvar,type(newvar))
1.整型不可以转换 2.浮点型不可以转换 3.布尔值不可转换 4.复数不可以转换 5.字符串不可以转换 6.列表必须是二级列表,并且第二级只有2个数据的列表可以转换 7.元组必须是二级元组,并且第二级只有2个数据的元组可以转换 8.集合必须是二级容器,并且第二级只有2个数据的集合可以转换 9.字典无需转换
|
容器类数据:1.字符串、2.列表、3.元组、4.集合、5.字典。
只有容器类数据才能转换为容器类数据,字符串除外。