Python 标准库用 C 实现了丰富的序列类型,列举如下:
容器序列:list、tuple 和 collections.deque(双端队列) 这些序列能存放不同类型的数据。
扁平序列:str、bytes、bytearray、memoryview(内存视图) 和 array.array(数组),这类序列只能容纳一种类型。
容器序列存放的是它们所包含的任意类型的对象的引用,换句话说,扁平序列其实是一段连续的内存空间。
扁平序列里存放的是值而不是引用,它里面只能存放诸如字符、字节和数值这种基础类型。
序列类型还能按照能否被修改来分类:
可变序列:list、array.array、collections.deque 和 bytearray、 memoryview。
不可变序列:tuple、str 和 bytes。
dict 和 set 不是序列;
可变序列(MutableSequence)和不可变序列(Sequence)的差异,同时也能看出前者从后者那里继承了一些方法。虽然内置的序列类型并不是直接从 Sequence 和 MutableSequence 这两个抽象基类(Abstract Base Class,ABC)继承而来的,但是了解这些基类可以帮助我们总结出那些完整的序列类型包含了哪些功能。

本文深入解析了Python标准库中丰富的序列类型,包括容器序列如list和tuple,以及扁平序列如str和bytes。探讨了序列的可变性和不可变性,并对比了可变序列和不可变序列之间的差异。
1362

被折叠的 条评论
为什么被折叠?



