[Python-Dev] bool(iter()) changed between 2.3 and 2.4
raymond.hettinger at verizon.net
Thu Sep 22 07:12:10 CEST 2005
> I strongly feel that this needs to be corrected in 2.5. Iterators
> should have neither __len__ nor __nonzero__.
Right. I'll get it fixed-up.
> I presume there were two reasons: internal efficiency of
> (list(some_it) for example)
> This could have been implemented without making the
> implementation details public.
I see a way to do that by renaming the __len__ method to some private
name for internal use. This would preserve the performance gains while
still restoring the public API.
More information about the Python-Dev