Add another usage note for collections.Set

This commit is contained in:
Raymond Hettinger 2008-02-09 03:48:16 +00:00
parent 7aebb64bab
commit 0dbdab2557
1 changed files with 8 additions and 1 deletions

View File

@ -58,7 +58,7 @@ ABC Inherits Abstract Methods Mixin M
``insert``, ``remove``, and ``__iadd__``
and ``__len__``
:class:`Set` \(1) \(2) :class:`Sized`, ``__len__``, ``__le__``, ``__lt__``, ``__eq__``, ``__ne__``,
:class:`Set` :class:`Sized`, ``__len__``, ``__le__``, ``__lt__``, ``__eq__``, ``__ne__``,
:class:`Iterable`, ``__iter__``, and ``__gt__``, ``__ge__``, ``__and__``, ``__or__``
:class:`Container` ``__contains__`` ``__sub__``, ``__xor__``, and ``isdisjoint``
@ -118,6 +118,13 @@ Notes on using :class:`Set` and :class:`MutableSet` as a mixin:
semantics are fixed), redefine :meth:`__le__` and
then the other operations will automatically follow suit.
(3)
The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash value
for the set; however, :meth:`__hash__` is not defined because not all sets
are hashable or immutable. To add set hashabilty using mixins,
inherit from both :meth:`Set` and :meth:`Hashable`, then define
``__hash__ = Set._hash``.
(For more about ABCs, see the :mod:`abc` module and :pep:`3119`.)