ну да, мы возвращаем self, который не меняется если ещё раз выполнить iter(numbers), а внутри iter метода мы счётчик start никак не обнуляем, поэтому вызывается исключение. Если бы автор выделил для переменной счётчика отдельную переменную и обнулил её, тогда при попытке второй раз воспользоваться итератором всё было бы хорошо.
В python есть модуль array, который работает чуть иначе, чем листы
ну да, мы возвращаем self, который не меняется если ещё раз выполнить
iter(numbers)
, а внутри iter метода мы счётчикstart
никак не обнуляем, поэтому вызывается исключение. Если бы автор выделил для переменной счётчика отдельную переменную и обнулил её, тогда при попытке второй раз воспользоваться итератором всё было бы хорошо.Наверное стоило бы добавить в статью связь между изменяемыми/неизменяемыми типами данных и методом hash