[Python-Dev] Single- vs. Multi-pass iterability
Ka-Ping Yee
ping@zesty.ca
Wed, 17 Jul 2002 16:07:07 -0500 (CDT)
On Wed, 17 Jul 2002, Clark C . Evans wrote:
>
> Right, but such objects wouldn't be mis-leading beacuse they'd
> be missing a __iter__ method, correct?
Oh, i guess i didn't properly answer your question. Oops. :)
My answer would be: you could say that, but wouldn't it suck to
have to check for the existence of __iter__ every time you wanted
to call next?
You can legislate that everyone should implement __iter__ together
with next; you can legislate that everyone should check for __iter__
before calling next. To some extent you have to do both or neither;
one without the other is inconsistent and would lead to surprises.
In practice no one's going to check. So in practice __iter__
isn't really part of the protocol.
-- ?!ng