数据类型的总结
按存储空间的占用-由低到高
1.数字
2.字符串
3.集合:无序,即无序存索引相关信息
4.元组:有序,需要存索引相关信息,不可变
5.列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
6.字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
按存值个数区分
存值个数 | 数据类型 |
---|---|
单个值 | 数字、字符串 |
多个值 | 列表、元组、字典、集合 |
按可变不可变区分
可变or不可变 | 数据类型 |
---|---|
可变 | 列表、字典、集合 |
不可变 | 数字、字符串、元组 |
按有序无序分
有序or无序 | 数据类型 |
---|---|
有序(可按索引取值) | 字符串、列表、元组 |
无序 | 字典、集合 |
按访问类型区分
访问类型 | 数据类型 |
---|---|
直接访问 | 数字 |
顺序访问 | 字符串、列表、元组 |
key值访问(映射) | 字典 |
深拷贝和浅拷贝
拷贝:对值进行复制的过程
1.值拷贝:应用场景最多
ls1 = ls1 # ls1直接将ls的存放地址拿过来
print(id(ls),id(ls1)) # ls发生改变,ls1随之发生改变
2.浅拷贝
ls2 = copy(ls)
新开辟列表空间,但ls2中的值都会直接从ls中直接拿过来
ls中不可变数据类型值发生改变,ls2不会发生变化
ls中可变数据类型发生变化,ls2会随之改变
3.深拷贝
新开辟列表空间,但ls3中的值都会直接从ls中直接拿过来
ls中可变\不可变数据类型发生变化,ls3都不会发生任何变化