summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2008-02-06 01:23:58 (GMT)
committerRaymond Hettinger <python@rcn.com>2008-02-06 01:23:58 (GMT)
commite4c96ad7d347720e5e88215e9a3e2d974c420e16 (patch)
treefebc35896eafc177f7039cc629afa83d1448832f
parent0fc8351f64e11f60622de5372120f70b2fa04313 (diff)
downloadcpython-e4c96ad7d347720e5e88215e9a3e2d974c420e16.zip
cpython-e4c96ad7d347720e5e88215e9a3e2d974c420e16.tar.gz
cpython-e4c96ad7d347720e5e88215e9a3e2d974c420e16.tar.bz2
Update docs for collections ABCs and for collections.UserDict.
-rw-r--r--Doc/library/collections.rst48
-rw-r--r--Doc/library/userdict.rst52
-rw-r--r--Misc/NEWS1
3 files changed, 41 insertions, 60 deletions
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 0be8d07..d218a9b 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -32,25 +32,32 @@ ABC Notes
: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()``,
``__contains__()``, ``__len__()``,
+ ``__eq__()``, ``__ne__()``,
``__iter__()``, ``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`, :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()``,
- and ``toggle()``
-:class:`collections.Sequence` Derived from :class:`Container`,
- :class:`Iterable`, and :class:`Sized`,
- and in addition defines
- ``__getitem__()``
-:class:`collections.Set` Derived from :class:`Container`, :class:`Iterable`, and :class:`Sized`
-:class:`collections.Sized` Defines ``__len__()``
+ ``remove()``, ``__ior__()``, ``__iand__()``,
+ ``__ixor__()``, and ``__isub__()``
+
===================================== ========================================
.. XXX Have not included them all and the notes are incomplete
@@ -577,3 +584,30 @@ customize a prototype instance::
.. [#] For information on the double-star-operator see
:ref:`tut-unpacking-arguments` and :ref:`calls`.
+
+
+
+:class:`UserDict` objects
+----------------------
+
+The class, :class:`UserDict` acts as a wrapper around dictionary objects.
+The need for this class has been partially supplanted by the ability to
+subclass directly from :class:`dict`; however, this class can be easier
+to work with because the underlying dictionary is accessible as an
+attribute.
+
+.. class:: UserDict([initialdata])
+
+ Class that simulates a dictionary. The instance's contents are kept in a
+ regular dictionary, which is accessible via the :attr:`data` attribute of
+ :class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is
+ initialized with its contents; note that a reference to *initialdata* will not
+ be kept, allowing it be used for other purposes.
+
+In addition to supporting the methods and operations of mappings,
+:class:`UserDict` and :class:`IterableUserDict` instances
+provide the following attribute:
+
+.. attribute:: UserDict.data
+
+ A real dictionary used to store the contents of the :class:`UserDict` class.
diff --git a/Doc/library/userdict.rst b/Doc/library/userdict.rst
index 820a743..1475197 100644
--- a/Doc/library/userdict.rst
+++ b/Doc/library/userdict.rst
@@ -1,56 +1,4 @@
-:mod:`UserDict` --- Class wrapper for dictionary objects
-========================================================
-
-.. module:: UserDict
- :synopsis: Class wrapper for dictionary objects.
-
-
-The module defines a mixin, :class:`DictMixin`, defining all dictionary methods
-for classes that already have a minimum mapping interface. This greatly
-simplifies writing classes that need to be substitutable for dictionaries (such
-as the shelve module).
-
-This also module defines a class, :class:`UserDict`, that acts as a wrapper
-around dictionary objects. The need for this class has been largely supplanted
-by the ability to subclass directly from :class:`dict` (a feature that became
-available starting with Python version 2.2). Prior to the introduction of
-:class:`dict`, the :class:`UserDict` class was used to create dictionary-like
-sub-classes that obtained new behaviors by overriding existing methods or adding
-new ones.
-
-The :mod:`UserDict` module defines the :class:`UserDict` class and
-:class:`DictMixin`:
-
-
-.. class:: UserDict([initialdata])
-
- Class that simulates a dictionary. The instance's contents are kept in a
- regular dictionary, which is accessible via the :attr:`data` attribute of
- :class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is
- initialized with its contents; note that a reference to *initialdata* will not
- be kept, allowing it be used for other purposes.
-
- .. note::
-
- For backward compatibility, instances of :class:`UserDict` are not
- iterable.
-
-
-.. class:: IterableUserDict([initialdata])
-
- Subclass of :class:`UserDict` that supports direct iteration (e.g. ``for key in
- myDict``).
-
-In addition to supporting the methods and operations of mappings (see section
-:ref:`typesmapping`), :class:`UserDict` and :class:`IterableUserDict` instances
-provide the following attribute:
-
-
-.. attribute:: IterableUserDict.data
-
- A real dictionary used to store the contents of the :class:`UserDict` class.
-
:mod:`UserList` --- Class wrapper for list objects
==================================================
diff --git a/Misc/NEWS b/Misc/NEWS
index 50eb9c0..3ba1678 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -75,7 +75,6 @@ Library
- Created new UserDict class in collections module. This one inherits from and
complies with the MutableMapping ABC.
- XXX still need to move docs
- Removed UserDict.DictMixin. Replaced all its uses with collections.MutableMapping.