Найти в Дзене
Машинное обучение

Углубляемся в Итератор Python

Итератор нужен для доступа к объектам без раскрытия внутреннего предоставления.

Существует два вида итераторов: внешний,внутренний.

Внешний итератор — когда процессом обхода управляет клиент, с помощью магического метода __next__.

Внутренний итератор — принимает callback функции и уведомляет клиента о получение следующего элемента.

Сам итератор это объект, который возвращает свои элементы по одному разу. В Python это любой объект у которого есть магический метод __next__. Метод возвращает следующий элемент, если он существует, в другом случаи вернет StopIteration.

Так-же у каждого итератора должна быть метод __iter__, он возвращает сам итератор.

Интерфейса итератора состоит из first,next,current.

first — возвращает итератор к началу агрегата,что-то вроде reset.

next — переходит на следующий элемент агрегата, в случаи если нет следующего элемента, то будет StopIteration.

current — возвращает текущий элемент.

Создадим итератор, который возвращает числа, начиная с 1, и каждая следующая последовательность будет увеличиваться на единицу (возвращая 1,2,3,4,5 и т. д.):

-2

интрактивный пример: https://www.w3schools.com/python/trypython.asp?filename=demo_iterator_create

#Python #Итератор

Python RU
Python/ django

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Что такое теория графов?
Теория графов началась как малоизвестная область математики, но со временем превратилась в невероятно полезный инструмент для понимания современного мира. По сути, это упрощенный метод работы с абстрактными объектами и связями между ними. Эта область исследований обычно включается в более широкую область комбинаторики, но имеет много уникальных аспектов, которые делают ее полезной. По мере того, как мир становится все более связанным, а данные становятся более доступными, теория графов становится необходимой структурой для их осмысления...
Почему матрицы умножаются таким странным образом? Есть простое и наглядное объяснение
Приветствую Вас, уважаемые Читатели! Сегодня я хочу поговорить о теме, которая возникала, наверное, у каждого изучавшего матрицы в курсе алгебры. Почему мы так криво их умножаем? Это нужно для запутывания студентов? Это мировой заговор? Метод по-дебильному написан? Однако, как бывает в математике, всё именно так, как нужно с точки зрения фундаментальных основ этой науки. Давайте разберемся с этим вопросом раз и навсегда. Линейное отображение Пусть нам дан вектор-столбец. Любое отображение мы можем...
Принципы ООП
Принципы ООП (Объектно-Ориентированного Программирования) — это основные концепции, которые помогают структурировать и организовывать код. Давайте разберём их по порядку. Простой пример: представь, что у тебя есть смартфон. Ты можешь использовать его, не зная, как он устроен внутри. Ты просто пользуешься экраном, кнопками, приложениями. А все сложные процессы скрыты внутри. Инкапсуляция — это принцип, который говорит о том, что внутренности объекта (например, какие-то данные или методы) должны быть спрятаны от внешнего мира...
Следующая статья
Документы, вакансии и контакты