ఒక iterable అనేది మీరు లూప్ చేయగల ఏదైనా (జాబితా, స్ట్రింగ్, dict); ఒక iterator అనేది వాస్తవ పునరావృత్తిని చేసే ఆబ్జెక్ట్, ఒక సమయంలో ఒక్కమారు విలువలను ఉత్పత్తి చేస్తుంది మరియు దాని స్థానాన్ని ట్రాక్ చేస్తుంది. ఈ వ్యత్యాసం Python లో for loops ఎలా పనిచేస్తుందో ఆధారపడుతుంది.
రెండు ప్రోటోకాల్లు
Iterable → has __iter__() → returns an iterator
Iterator → has __next__() → returns the next value (and __iter__ returning itself)
