def gensquares(N): for i in range(N): yield i ** 2 # resume here later for i in gensquares(5): # resume the function print i, ':', # print last yielded value x = gensquares(10) print x.next() print x.next() print x.next()