第4章 抽象基类设计的一致性

    Python 标准库为若干容器类的特性提供了抽象基类。Python 为内置的容器类(例如listmapset)提供了一致的框架。

    另外,标准库也为数值类型提供了抽象基类。我们可以使用这些类来扩展Python支持的数值类型。

    我们会通过collections.abc模块来了解抽象基类的基本概念。从这里开始,我们会关注抽象基类的一些用例,它们也是以后一些章节的主题。

    我们有3个设计原则:封装、扩展和创建。除了了解各种容器和集合类型以外,我们可能还要了解封装或者扩展的一般概念。类似地,我们也会关注除了数值类型外一些其他想要实现的一般概念。

    我们的目标是保证我们的程序能够和Python内置的特性无缝集成。例如,我们创建一个集合,最好能够让集合也实现一个iter()迭代器。一个实现了iter()的集合可以与for语句很好地集成。