An iterable არის ყველაფერი, რაც შეიძლება მოკრეფოთ (სია, string, dict); an iterator არის ობიექტი, რომელიც აკეთებს რეალურ იტერაციას, აწარმოებს მნიშვნელობებს ერთი ერთად და აკვშოვს მის პოზიციას. ეს განსხვავება აღწერს როგორ მუშაობს for loop Python-ში.
ორი პროტოკოლი
Iterable → has __iter__() → returns an iterator
Iterator → has __next__() → returns the next value (and __iter__ returning itself)
