数据类型总结
'''字符串 string 不可变数据类型
数字类型 Number 不可变数据类型
整型 int
浮点 float
复数 complex
布尔 bool
列表 list 可变数据类型
元组 tuple 不可变数据类型
字典 dict 可变数据类型
集合 set 可变数据类型
可变数据类型: 列表 、字母 、集合
不可变数据类型: 字符串、 数字、 元组
容器类型数据:字符串、 列表、元组、集合、字典
非容器数据类型: 数字、 布尔 '''
数据类型转换
什么是数据类型转换?
把一个数据类型转换为另一个数据类型,例如,字符串转为数字
为什么需要数据类型转换?
因为不同的数据类型直接不能运算
数据类型转换的形式?
1.自动类型转换 - 在运算过程中自动进行转换
2.强制类型转换 - 根据开发需求来把一个不同的数据类型转换为另外一个
自动类型转换
-
当两个不同的值进行运算时,结果会向更高的精度进行计算
-
True ===> 整型 ===》浮点===>复数
-
即 True和True 运算结果是 整型
-
Ture和整型 运算结果是 整型
-
整型 和浮点 运算结果是 浮点
-
浮点 和复数 运算结果是 复数
a = 123
b = True #True 在和数字运算时 转为数字 1, False转为数字 0
print(a+b) #输出结果为 124
print(12.5+22) #12.5为浮点类型,22为整型,运算时自动将22整型 转为 浮点进行计算。
#输出结果为 34.5
print(True+3.14) #输出结果为 4.140000000000001
if 表达式:
真区间
else:
假期间
if a:
print('真')
else :
print('假')
强制类型转换
下面的函数可以把其它类型的数据,转为对应的数据类型
str()
int()
float()
bool()
list()
tuple()
dict()
set()
a = '123'
print(a,type(a)) #输出结果为 123 <class 'str'>
res = str(a)
print(res,type(res)) #输出结果为 123 <class 'str'> 本身就是字符串,无改变
a = 123
print(a,type(a)) #输出结果为 123 <class 'int'>
res = str(a)
print(res,type(res)) #输出结果为 123 <class 'str'> 数据类型已更改
a = 123
a = 3.14
a = True
a = [1,2,3]
print(a,type(a))
-
可以把所有的其他数据类型转换为字符串类型
res = str(a)
-
字符串转换为数字类型时,如果字符串中是纯数字,可以转换。
-
列表无法转换为数字
-
集合、字典都无法转换数字int类型,只有字符串可以。
res = int(a)
-
浮点类型的转换和int类型一样,不过转换的结果是浮点类型
res = float(a)
-
bool布尔类型 可以把其它类型转换布尔类型的Ture或False
-
需要总结,哪些情况转bool的结果是False
-
空字符串 是False
'0'字符串有个0 ,是True
0 为 False
0.0 为False
False 为False
字符串有东西就是True
字符串没有东西就是False
空列表[]、空集合{}、空字典()、空元组set() 都是False
-
a = 'love'
print(a,type(a))
res = int(a)
print(res,type(res))