[Python-3000] isinstance(., Iterable) vs lookup('iter') != None Re: *View in abc.py not inheriting Iterable Re: PEP 3119 (original) (raw)

Samuele Pedroni pedronis at openendsystems.com
Sat Apr 28 21:28:59 CEST 2007


Guido van Rossum wrote:

On 4/28/07, Samuele Pedroni <pedronis at openendsystems.com> wrote:

Shouldn't the various *View in abc.py be Iterables (inherit from Iterable) ? Oops, it looks like this is a mess. There are two classes MappingView. Ignore them for the sake of the PEP. I'll clean them up later. We probably need fewer mapping classes, nor more... It seems that something that defines iter should also subclass Iterable, in this kind of situation where the special method is unique enough it seems quite repetitive to have to do both. It seems easy to forget to subclass.

Shouldn't now that there are isinstance hooks Iterable be defined again in terms of just checking for the presence of 'iter' lookup-wise? I suppose there are some other similar cases, of course in other situations the ABC carry an intention that goes beyond the presence of methods.



More information about the Python-3000 mailing list