Mega Code Archive

 
Categories / Python Tutorial / Class
 

Make a new iterator object for each new iteration

class Squares:     def __init__(self, start, stop):            self.value = start - 1         self.stop  = stop     def __iter__(self):                         return self     def next(self):                             if self.value == self.stop:             raise StopIteration         self.value += 1         return self.value ** 2 X = Squares(1, 5)  print [n for n in X]                    print [n for n in Squares(1, 5)]        print list(Squares(1, 3))