I am studying Alex Marteli\'s Python in a Nutshell and the book suggests that any object that has a next() method is (or at least can be used as) an ite
They are iterable, but they are not iterators. They can be passed to iter() to get an iterator for them either implicitly (e.g. via for) or explicitly, but they are not iterators in and of themselves.