[Python-3000-checkins] r60680 - python/branches/py3k/Doc/library/collections.rst

raymond.hettinger python-3000-checkins at python.org
Sat Feb 9 03:17:06 CET 2008


Author: raymond.hettinger
Date: Sat Feb  9 03:17:06 2008
New Revision: 60680

Modified:
   python/branches/py3k/Doc/library/collections.rst
Log:
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.



Modified: python/branches/py3k/Doc/library/collections.rst
==============================================================================
--- python/branches/py3k/Doc/library/collections.rst	(original)
+++ python/branches/py3k/Doc/library/collections.rst	Sat Feb  9 03:17:06 2008
@@ -30,41 +30,42 @@
 
 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::


More information about the Python-3000-checkins mailing list