They are created by using the yield keyword
next() can be called explicitly or implicitly inside for loop
They can be finite or infinite

One of the oddest features of the Labour tax row is how raising allowances, which the media allowed the LDs to describe as progressive (in spite of evidence to contrary) through the coalition years, is now seen by everyone as very right wing
— Tom Clark (@prospect_clark) November 2, 2018
The famous \u201cLucy\u201d, an early ancestor of modern humans (Australopithecus) that lived 3.2 million years ago, and was discovered in 1974 in Ethiopia, displayed in the national museum in Addis Ababa \U0001f1ea\U0001f1f9 pic.twitter.com/N3oWqk1SW2
— Patrick Chovanec (@prchovanec) November 9, 2018