Почему определение __getitem__ в классе делает его итерируемым в Python?

Если вы посмотрите на PEP234, определяющий pythonic итераторы, он говорит:

1. An object can be iterated over with "for" if it implements
   __iter__() or __getitem__().

2. An object can function as an iterator if it implements next().

python

iterator

overloading

2022-09-21T13:38:18+00:00