On Fri, Dec 27, 2013 at 07:16:22PM +0000, Oscar Benjamin wrote:

> The next method of iterators was renamed __next__ in Python 3. So if you
> change it to self.col.__next__() it will work in Python 3. Neither of those
> is really correct though. The correct method is to call the next built-in:
>     next(self.col)
> That will work under Python 2 and 3 and is the recommended way in both
> versions.

Not quite. There is no next() function prior to Python 2.6. In 2.5 you 
have to call self.col.next(), which was deemed to be a mistake and 
changed in 2.6. 

A general word of advice: never call "dunder" (Double UNDERscore) 
methods like __next__ directly. There are exceptions to that rule, but 
it generally applies.


-- 
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to