一、可变vs不可变

1.不可变对象:创建后内容不能修改

2.可变对象:创建后内容可以修改

二、可迭代对象

可以用for循环遍历的对象就是可迭代对象。

三、有序 vs 无序

1.有序对象:元素有固定顺序,支持索引。listtuplestrrangebytesbytearray

2.无序对象:元素无固定顺序,不支持索引。setfrozenset

四、容器与迭代器

1.定义:可以包含其他对象的对象,可以用in操作符检查是否包含。

2.迭代器:它是一个对象(任何Python对象)。 它实现了 __iter__() 方法(返回自身)。它实现了 __next__() 方法(返回下一个元素,没有则抛出StopIteration)

2.容器与迭代器的区别:

容器:存储元素,可多次迭代。
迭代器:一次性产生元素,迭代器用完后就不能再用了。

浅拷贝与深拷贝

1.浅拷贝

  • 创建新容器,但只复制最外层的引用

  • 内部嵌套的对象还是原来的对象

  • 比喻:复制了一栋楼的门牌号,但楼里的房间还是原来那些

2.深拷贝

  • 递归复制所有层级的对象

  • 创建完全独立的新对象

  • 比喻:复制整栋楼,包括楼里的每一个房间和家具

更多推荐