Mega Code Archive

 
Categories / Python / Class
 

Iterator object

class Squares:     def __init__(self, start, stop):         self.value = start - 1         self.stop  = stop     def __iter__(self):                   # get iterator object         return self     def next(self):                       # on each for iteration         if self.value == self.stop:             raise StopIteration         self.value += 1         return self.value ** 2 for i in Squares(1,5):      print i, X = Squares(1,5) X = Squares(1,5) print [n for n in X]                     # exhausts items print [n for n in X]                     # now it's empty print [n for n in Squares(1,5)] print list(Squares(1,3))