TGViewer
Поколение Python 🐍 Поколение Python 🐍 @pygen_ru · 50.4K subscribers
Post #2515 8.46K
Друзья, в недавнем посте мы разобрали, как цикл for перебирает элементы итерируемого объекта с помощью итератора. А сегодня поговорим про сами итераторы. 😎

📌 Итератор — это объект, который обеспечивает последовательный доступ к элементам коллекции. Он выдает элементы по одному и хранит текущее состояние обхода.

У итератора есть два ключевых метода, реализующих протокол итератора:

1️⃣ __iter__() — возвращает самого себя. Нужен для того, чтобы любой итератор можно было использовать там, где ожидается итерируемый объект (например, в for). Проще говоря, итератор тоже является итерируемым объектом.
2️⃣ __next__() — возвращает очередной элемент.

С помощью функции iter() мы можем получить итератор из итерируемого объекта. После этого мы можем передавать его встроенной функции next(), которая вызывает метод __next__() у итератора и возвращает очередной элемент.

Когда элементы заканчиваются, метод __next__() возбуждает исключение StopIteration и итератор становится совершенно бесполезным. Цикл for обрабатывает это исключение автоматически и завершает выполнение.

Представить работу цикла:

for x in obj:
print(x)


можно следующим образом:

it = iter(obj)
while True:
try:
print(next(it))
except StopIteration:
break


👀 Более подробно об итераторах и о том, как можно реализовывать собственные итераторы, мы рассказываем в наших курсах для профессионалов и ООП. Напоминаем, что до 15 сентября действует скидка 2000 рублей при покупке любого нашего курса!

Ставьте реакцию:

❤️ — если уже прошли итераторы в наших курсах
🔥 — если проходите их прямо сейчас
👀 — если еще не добрались до итераторов

#полезныйматериал #python #ооп
  • ❤ 63
  • 👀 59
  • 🔥 10
  • 👨‍💻 5
More from @pygen_ru
  1. Oct 2, 2026Друзья, мы нашли еще один повод зависнуть в Telegram с пользой! 😎 🎉 На платформе появилс…
  2. Oct 1, 2026Друзья, сегодня день релиза новой версии Python 3.15! 😍 Хотим поделиться с вами интересны…
  3. Sep 29, 2026Друзья, наши пакеты курсов стали еще выгоднее! 😍 🛍 Только два дня — сегодня и завтра —де…
  4. Sep 28, 2026Друзья, мы готовы подвести итоги конкурса, приуроченного к отметке 50000 подписчиков на ка…
  5. Sep 25, 2026Друзья, на прошлой неделе наш канал пробил отметку 50 000 подписчиков! 😍 ❤️ Каналу«Поколе…
  6. Sep 24, 2026Друзья, принесли отличные новости! 👩‍❤️‍👨 💡 Мы добавили в курс по ООП два абсолютно нов…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →