On Apr 2, 3:14 pm, grocery_stocker <cdal...@gmail.com> wrote: > Give the following code.. > > >>> class it: > > ... def __init__(self): > ... self.count = -1 > ... def next(self): > ... self.count +=1 > ... if self.count < 4: > ... return self.count > ... else: > ... raise StopIteration > ...>>> def some_func(): > > ... return it() > ...>>> iterator = some_func() > >>> iterator > > <__main__.it instance at 0xb7f482ac>>>> some_func > > <function some_func at 0xb7f45e64>>>> some_func() > > <__main__.it instance at 0xb7f4862c> > > How come when I call some_func().next(), the counter doesn't get > incremented?>>> some_func().next() > 0 > >>> some_func().next() > 0 > >>> some_func().next() > > 0 > > But when I call iterator.next(), it does. > > >>> iterator.next() > 0 > >>> iterator.next() > 1 > >>> iterator.next() > 2 > >>> iterator.next() > 3
-- http://mail.python.org/mailman/listinfo/python-list