[Python-3000] PEP 3119 - Introducing Abstract Base Classes
Jim Jewett
jimjjewett at gmail.com
Fri Apr 27 21:06:31 CEST 2007
On 4/27/07, Thomas Lotze <thomas at thomas-lotze.de> wrote:
> Guido van Rossum wrote:
> > ``__hash__`` for those instances should raise a ``TypeError``
> > exception.
> Shouldn't this rather be a ValueError since it occurs not because of the
> type of the object in question, but its value (while in general, there are
> instances of the same type representing other values which are hashable)?
Yes, but it is a TypeError today. Is it worth the backwards compatibility?
> > [It] is possible for ``x
> > in o`` to be True even though ``x`` is never yielded by ``iter(o)``.
> To me, 'searchable' isn't associated with subsequences in any way. I'd
> think of a container that is able to answer the question "where is this
> element?" A sequence might return an index or a set of indexes, a mapping
> might return a key or a set of keys in reply to this. If what you're after
> is really a subsequence containment test, it should just live on sequences
> instead of getting an ABC of its own, IMO.
That makes sense. Looking at unordered containers like sets, should
{"a", "b"} in {"b", "a", "d"} be able to return true, by deriving from
Searchable?
If not, then I agree that it is really about sequences.
-jJ
More information about the Python-3000
mailing list