We can extend a number of the standard library abstract base classes (ABCs) to create new kinds of collections. The ABCs also provide us with design guidelines to extend the built-in containers. These allow us to fine-tune the features or define new data structures that fit our problem domain more precisely.
We'll look at the basics of ABCs for container classes. There are a fairly large number of abstractions that are used to assemble the built-in Python types, such as list, tuple, dict, set, and frozenset. We'll review the variety of special methods that are involved in being a container and offering the various features of containers. We'll split these into the core container methods, separate from the more specialized sequence, map, and set methods. We'll address extending built-in containers in order to add features...