[Tutor] Is generator function reusable?
Kent Johnson
kent37 at tds.net
Sat Mar 17 15:28:33 CET 2007
ammar azif wrote:
> Lets say a generator function instance is created and has finished its
> iteration.
> Can that instance be reused again? can it accept anymore values? or we
> should discard it and create a new generator instance.
In general, no, you can't reuse any iterator, including the generator
created by calling a generator function. Iterators go through their
values once, then raise StopIteration on any further accesses.
In Python 2.5 you can pass values into a generator by calling next()
with a value. You could use this to create a generator that can be
reset. But more commonly you would just call the generator function
again and create a new generator instance.
Kent
More information about the Tutor
mailing list