В языке Python есть два мощных инструмента, которые позволяют нам генерировать данные или выполнять итерации по коллекции элементов: генераторы и итераторы. Хотя в чем-то они похожи, у них есть явные различия, которые делают их подходящими для разных случаев использования. В этой статье мы рассмотрим концепции генераторов и итераторов в Python и то, как их можно эффективно использовать в вашем коде. Что такое генератор? Генератор - это особый тип функции, позволяющий создавать последовательность значений по одному, вместо того чтобы возвращать всю последовательность сразу...
Итератор нужен для доступа к объектам без раскрытия внутреннего предоставления. Существует два вида итераторов: внешний,внутренний. Внешний итератор — когда процессом обхода управляет клиент, с помощью магического метода __next__. Внутренний итератор — принимает callback функции и уведомляет клиента о получение следующего элемента. Сам итератор это объект, который возвращает свои элементы по одному разу. В Python это любой объект у которого есть магический метод __next__. Метод возвращает следующий элемент, если он существует, в другом случаи вернет StopIteration...