第二章序列的数组之 内置序列类型概览
容器序列:
list
、
tuple
和
collections.deque
这些序列能存放不同类
型的数据
扁平序列
str
、
bytes
、
bytearray
、
memoryview
和
array.array
,
这类序列只能容纳一种类型。
容器序列存放的是它们所包含的任意类型的对象的
引用
,而扁平序列 里存放的
是值
而不是引用。
序列类型还能按照能否被修改来分类
可变序列
list
、
bytearray
、
array.array
、
collections.deque
和
memoryview
。
不可变序列
tuple
、
str
和
bytes
。
下图
显示了可变序列(
MutableSequence
)和不可变序列
(
Sequence
)的差异,同时也能看出前者从后者那里继承了一些方
法。虽然内置的序列类型并不是直接从
Sequence
和
53
MutableSequence
这两个抽象基类(
Abstract Base Class
,
ABC
)继
承而来的,但是了解这些基类可以帮助我们总结出那些
完整的序列类型
包含了哪些功能。
这个
UML
类图列举了
collections.abc
中的几个类
(超类在左边,箭头从子类指向超类,斜体名称代表抽象类和抽象
方法)