A kérdésben nem egy szójátékról van szó, hanem ezek alapvető fogalmak, de amelyek nem biztos, hogy minden Pythonnal ismerkedő számára világosak. Ezek lényegét fogaljuk össze röviden az alábbiakban.
Az iterátor egy olyan objektum, amely minden egyes ismétlődő kérésre (next() függvénnyel vagy a __next__() metódus meghívásával) egy-egy újabb objektumot szolgáltat. Ha nem tud több értéket kiadni, akkor azt egy kivételdobással jelzi. Az iterátor és az azt hívó kliens program között az adatáramlás egyirányú, ami azt jelenti, hogy az adatok mindig az iterátorból jönnek és a kliens használja fel azokat.
A generátor egy speciális iterátor, amely nem csak elemeket tud a kliens kérésére szolgáltatni, hanem a kliens is tud adatot a generátorba bevinni annak send() metódusa meghívásával. Vagyis a generátor és a kliens közötti adatáramlás lehet kétirányú is. Ez azt jelenti, hogy a kliens futás közben befolyásolni tudja a generátor működését.
Generátorobjektumot két módon is létrehozhatunk: generátorfüggvénnyel vagy generátorkifejezéssel.
Generátorfüggvény minden olyan függvény, amelynek definíciójában a yield kulcsszó legalább egyszer szerepel, függetlenül attól, hogy tartalmaz-e return utasítást vagy sem. A generátorfüggvény a meghívásakor egy generátor típusú objektumot ad vissza.
A generátorkifejezés egy olyan speciális kifejezés, amely szintén egy generátort ad vissza. A szintaxisa formailag hasonló a listaépítő kifejezéshez (list comprehension), csak szögletes zárójelek helyett gömbölyű zárójelek határolják. Ezért generátorépítő kifejezésnek is szokták hívni.
Mivel a generátor egy speciális iterátor, ezért generátor-iterátornak is nevezik. Az általa kiadott elemek a megvalósítástól függően tetszőleges objektumok lehetnek. Ezzel szemben az iterátor generátor egy olyan speciális generátor, amely minden egyes kérésre egy-egy iterátort ad vissza.
Az iterátorok és generátorok fontos nyelvi szerkezetei a Pythonnak, ezért a Python tudásépítés lépésről lépésre című e-könyvben is számos helyen találkozhatunk velük, és természetesen a jellemzőik, valamint használatuk részletesen, példákkal illusztrálva kerülnek ismertetésre.
