python 中的浅拷贝和深拷贝
赋值
- 赋值对于所有的类型都是引用的指向。
- 不可变类型的数据:
- 元组:
- - 可变类型的数据:列表
- 不可变的深浅拷贝:
- 不可变类型的深浅拷贝都是对象的引用。也可以这么理解不可变类不会进行深浅拷贝。
- 可变类型的深浅拷贝:
- 可变类的浅拷贝拷的少,只拷最外层。
- 可变类型深拷贝:
- 深拷贝拷的比较多,它把每层都拷,会递归的拷贝每层,因为列表的内层的id和外层的id,与拷贝之后的都不相等。
-
Python中可变类型和不可变类型。
- 不可变类型:数字(int),字符串,元组
- 可变类型:列表,字典。
- 总结:
- 1.不可变类不会进行深浅拷贝,仅仅是引用的指向。
- 2.可变类型:浅拷贝只会拷贝最外层,深拷贝递归的拷贝每层。
- 3.特殊:切片属于浅拷贝。
- 4.所有的赋值都是引用的指向。