It's actually considered a mistake.

The original rationale is spelled out in PEP 234 - see the Resolved Issues section:
http://www.python.org/dev/peps/pep-0234/

It is being renamed to __next__() in Python 3.0 and there will be a builtin next() method that calls it. Instead of iterator.next() you will

It's not a method if it's global to the namespace. Or so I've been told. A built-in function.

call next(iterator).
http://www.python.org/dev/peps/pep-3114/



Which makes a lot more sense because then it follows the convention of:

int(MyObject) == MyObject.__int__()
str(MyObject) == MyObject.__str__()
float(MyObject) == MyObject.__float__()

etc. like all of the other special method names _______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to