An iterable ni kitu chochote unachoweza kuzunguka juu yake (orodha, kamba, dict); an iterator ni kitu kinachofanya iteration halisi, kutengeneza thamani moja kwa wakati mmoja na kusulili nafasi yake. Tofauti hii iko chini ya jinsi for loops zinavyofanya kazi katika Python.
Mifumo miwili
Iterable → has __iter__() → returns an iterator
Iterator → has __next__() → returns the next value (and __iter__ returning itself)
