What's the difference between iterators and generators in Python?

Generators are also a kind of iterators. But generators are made using the “yield” keyword, which on running basically stops the generator until the global “next” function is called on this generator, and then yields the value which is defined after the “yield” keyword in the generator.

Now, the iterators, are instances of a class which is built by including the definition for iter and next methods. Here the global “next” function results in calling next method of the instance of the iterator.