Finish the collections ABC table.
Identify which abstract methods need to be defined. Show the inheritance hierarchy. List all of the mixin methods provided automatically.
This commit is contained in:
parent
71909423fd
commit
409fb2c809
|
@ -30,41 +30,42 @@ ABCs - abstract base classes
|
|||
|
||||
The collections module offers the following ABCs:
|
||||
|
||||
===================================== ================================================================================
|
||||
ABC Notes
|
||||
===================================== ================================================================================
|
||||
:class:`collections.Container` Defines ``__contains__()``
|
||||
:class:`collections.Hashable` Defines ``__hash__()``
|
||||
:class:`collections.Iterable` Defines ``__iter__()``
|
||||
:class:`collections.Iterator` Derived from :class:`Iterable` and in
|
||||
addition defines ``__next__()``
|
||||
:class:`collections.Sized` Defines ``__len__()``
|
||||
:class:`collections.Mapping` Derived from :class:`Container`,
|
||||
:class:`Iterable`,
|
||||
and :class:`Sized`, and in addition
|
||||
defines ``__getitem__()``, ``get()``,
|
||||
``__eq__()``, ``__ne__()``,
|
||||
``keys()``, ``items()``, and ``values()``
|
||||
:class:`collections.MutableMapping` Derived from :class:`Mapping`
|
||||
:class:`collections.Sequence` Derived from :class:`Container`,
|
||||
:class:`Iterable`, and :class:`Sized`,
|
||||
and in addition defines
|
||||
``__getitem__()``
|
||||
:class:`collections.MutableSequence` Derived from :class:`Sequence`
|
||||
:class:`collections.Set` Derived from :class:`Container`,
|
||||
:class:`Iterable`, and :class:`Sized`,
|
||||
add in addition defines
|
||||
``__le__()``, ``__lt__()``,
|
||||
``__eq__()``, ``__and__()``,
|
||||
``__or__()``, ``__sub__()``,
|
||||
``__xor__()``, and ``isdisjoint()``,
|
||||
:class:`collections.MutableSet` Derived from :class:`Set` and in
|
||||
addition defines ``add()``,
|
||||
``clear()``, ``discard()``, ``pop()``,
|
||||
``remove()``, ``__ior__()``,
|
||||
``__iand__()``, ``__ixor__()``, and
|
||||
``__isub__()``
|
||||
===================================== ================================================================================
|
||||
========================= ==================== ====================== ====================================================
|
||||
ABC Inherits Abstract Methods Mixin Methods
|
||||
========================= ==================== ====================== ====================================================
|
||||
:class:`Container` ``__contains__``
|
||||
:class:`Hashable` ``__hash__``
|
||||
:class:`Iterable` ``__iter__``
|
||||
:class:`Iterator` :class:`Iterable` ``__next__`` ``__iter__``
|
||||
:class:`Sized` ``__len__``
|
||||
|
||||
:class:`Mapping` :class:`Sized`, ``__getitem__``, ``__contains__``, ``keys``, ``items``, ``values``,
|
||||
:class:`Iterable`, ``__len__``. and ``get``, ``__eq__``, and ``__ne__``
|
||||
:class:`Container` ``__iter__``
|
||||
|
||||
:class:`MutableMapping` :class:`Mapping` ``__getitem__`` Inherited Mapping methods and
|
||||
``__setitem__``, ``pop``, ``popitem``, ``clear``, ``update``,
|
||||
``__delitem__``, and ``setdefault``
|
||||
``__iter__``, and
|
||||
``__len__``
|
||||
|
||||
:class:`Sequence` :class:`Sized`, ``__getitem__`` ``__contains__``. ``__iter__``, ``__reversed__``.
|
||||
:class:`Iterable`, and ``__len__`` ``index``, and ``count``
|
||||
:class:`Container`
|
||||
|
||||
:class:`MutableSequnce` :class:`Sequence` ``__getitem__`` Inherited Sequence methods and
|
||||
``__delitem__``, ``append``, ``reverse``, ``extend``, ``pop``,
|
||||
``insert``, ``remove``, and ``__iadd__``
|
||||
and ``__len__``
|
||||
|
||||
:class:`Set` :class:`Sized`, ``__len__``, ``__le__``, ``__lt__``, ``__eq__``, ``__ne__``,
|
||||
:class:`Iterable`, ``__iter__``, and ``__gt__``, ``__ge__``, ``__and__``, ``__or__``
|
||||
:class:`Container` ``__contains__`` ``__sub__``, ``__xor__``, and ``isdisjoint``
|
||||
|
||||
:class:`MutableSet` :class:`Set` ``add`` and Inherited Set methods and
|
||||
``discard`` ``clear``, ``pop``, ``remove``, ``__ior__``,
|
||||
``__iand__``, ``__ixor__``, and ``__isub__``
|
||||
========================= ==================== ====================== ====================================================
|
||||
|
||||
These ABCs allow us to ask classes or instances if they provide
|
||||
particular functionality, for example::
|
||||
|
|
Loading…
Reference in New Issue