mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Update docs for collections ABCs and for collections.UserDict.
This commit is contained in:
parent
0fc8351f64
commit
e4c96ad7d3
3 changed files with 42 additions and 61 deletions
|
@ -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.MutableSequence` Derived from :class:`Sequence`
|
||||
: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__()``
|
||||
``__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()``,
|
||||
``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.
|
||||
|
|
|
@ -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
|
||||
==================================================
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue