In
computer science, a
generator is a special
routine that can be used to control the
iteration behaviour of a
loop. In fact, all generators are
iterators. A generator is very similar to a function that returns an array, in that a generator has parameters, can be called, and generates a sequence of values. However, instead of building an array containing all the values and returning them all at once, a generator yields the values one at a time, which requires less memory and allows the caller to get started processing the first few values immediately. In short, a generator
looks like a function but
behaves like an
iterator.