# collections.abs模块中的抽象基类 在`collections.abc` 模块中定义了16个抽象基类,简要的UML类图。 ```mermaid classDiagram Iterable <|-- Iterator Iterable <|-- Sequence Iterable <|-- Mapping Iterable <|-- Set Iterable <|-- MappingView Container <|-- Sequence Container <|-- Mapping Container <|-- Set Sized <|-- Sequence Sized <|-- Mapping Sized <|-- Set Sized <|-- MappingView Sequence <|-- MutableSequence Mapping <|-- MutableMapping Set <|-- MutableSet Set <|-- ItemsView Set <|-- KeysView MappingView <|-- ItemsView MappingView <|-- KeysView MappingView <|-- ValuesView class Callable class Hashable ``` | ABC | Inherits from | Abstract Methods | Mixin Methods | | :---------------- | :------------------------------- | :----------------------------------------------------------- | :----------------------------------------------------------- | | `Container` | | `__contains__` | | | `Hashable` | | `__hash__` | | | `Iterable` | | `__iter__` | | | `Iterator` | `Iterable` | `__next__` | `__iter__` | | `Reversible` | `Iterable` | `__reversed__` | | | `Generator` | `Iterator` | `send`, `throw` | `close`, `__iter__`, `__next__` | | `Sized` | | `__len__` | | | `Callable` | | `__call__` | | | `Collection` | `Sized`, `Iterable`, `Container` | `__contains__`, `__iter__`, `__len__` | | | `Sequence` | `Reversible`, `Collection` | `__getitem__`, `__len__` | `__contains__`, `__iter__`, `__reversed__`, `index`, and `count` | | `MutableSequence` | `Sequence` | `__getitem__`, `__setitem__`, `__delitem__`, `__len__`, `insert` | Inherited `Sequence` methods and `append`, `reverse`, `extend`, `pop`, `remove`, and `__iadd__` | | `ByteString` | `Sequence` | `__getitem__`, `__len__` | Inherited `Sequence` methods | | `Set` | `Collection` | `__contains__`, `__iter__`, `__len__` | `__le__`, `__lt__`, `__eq__`, `__ne__`, `__gt__`, `__ge__`, `__and__`, `__or__`, `__sub__`, `__xor__`, and `isdisjoint` | | `MutableSet` | `Set` | `__contains__`, `__iter__`, `__len__`, `add`, `discard` | Inherited `Set` methods and `clear`, `pop`, `remove`, `__ior__`, `__iand__`, `__ixor__`, and `__isub__` | | `Mapping` | `Collection` | `__getitem__`, `__iter__`, `__len__` | `__contains__`, `keys`, `items`, `values`, `get`, `__eq__`, and `__ne__` | | `MutableMapping` | `Mapping` | `__getitem__`, `__setitem__`, `__delitem__`, `__iter__`, `__len__` | Inherited `Mapping` methods and `pop`, `popitem`, `clear`, `update`, and `setdefault` | | `MappingView` | `Sized` | | `__len__` | | `ItemsView` | `MappingView`, `Set` | | `__contains__`, `__iter__` | | `KeysView` | `MappingView`, `Set` | | `__contains__`, `__iter__` | | `ValuesView` | `MappingView`, `Collection` | | `__contains__`, `__iter__` | | `Awaitable` | | `__await__` | | | `Coroutine` | `Awaitable` | `send`, `throw` | `close` | | `AsyncIterable` | | `__aiter__` | | | `AsyncIterator` | `AsyncIterable` | `__anext__` | `__aiter__` | | `AsyncGenerator` | `AsyncIterator` | `asend`, `athrow` | `aclose`, `__aiter__`, `__anext__` |