[Python-3000] Fwd: Re: PEP: rename it.next() to it.__next__(), add a next() built-in

Raymond Hettinger python at rcn.com
Tue Mar 6 00:46:57 CET 2007


[Josiah Carlson]
>> I have written methods named 'next' which have *nothing* to do
>> with the iterator protocol.
 

[Greg]
>That would be another reason for renaming .next() to
>.__next__() -- to avoid intruding on the user's
>namespace.

Another read is that iterators should be separate
objects so that the namespace is coherent (with
__iter__, next, and whatnot all being iterator
related).  Who is going to create a custon iterator that
defines BOTH __next__ and next(), that would be less
than ideal and not something we want to encourage.


Raymond


More information about the Python-3000 mailing list