В Python избегают явных присваиваний при работе с итераторами, потому что в промышленном коде почти никогда не требуется напрямую работать с методами итератора. 2 Они неявно вызываются в циклах. 2
Для получения итератора от объекта в Python используется встроенная функция iter()
. 34 После получения итератора его используют через встроенную функцию next()
, которая вызывает метод __next__
у итератора. 4 Метод __next__
возвращает следующий элемент в очереди либо выбрасывает исключение StopIteration
, если элементов больше нет. 34
Таким образом, избегание явных присваиваний позволяет отделить код, выполняющий итерацию, от кода, работающего с каждым элементом, и сосредоточиться только на том, что делать с каждым элементом. 5