"""
Iterators in python
"""
# Many kinds of python objects can be iterated over using the for loop:
# lists
for element in [1, 2, 3]:
print element
# strings
for char in "123":
print char
# files
for line in open("myfile.txt"):
print line
# Behind the scenes, the for statement calls iter() on the object.
# this returns an iterator object - an object that has a next() method
# which returns the next element in the sequence of elements.
# When there are no more elements, next() raises a StopIteration exception
# which tells the for loop to terminate.
s = 'abc'
it = iter(s)
it.next()
it.next()
it.next()
# the next one will raise an exception:
it.next()
