基础数据类型转换
字符串 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'>