TGViewer
Поколение Python 🐍 Поколение Python 🐍 @pygen_ru · 50.4K subscribers
Post #2457 9.49K
Друзья, сегодня разбираемся, как Python перебирает объекты в цикле for. 😵‍💫

❗️ В Python любой объект, который можно обойти с помощью цикла for, является итерируемым.

💡 Каждый раз, когда выполняется цикл for, Python сначала получает специальный объект — итератор. Для этого неявно вызывается встроенная функция iter(), в которую передается сам итерируемый объект.

🔮 Все дело в том, что у каждого итерируемого объекта есть магический метод __iter__(), который возвращает итератор. Именно этот метод вызывает функция iter().

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

Дальше цикл for работает уже с итератором: на каждой итерации он запрашивает у него следующий элемент и получает их до тех пор, пока элементы не закончатся.

⚠️ При вызове функции iter() сначала проверяется, реализован ли у объекта метод __iter__(). Если да, вызывается именно он. Если же метод __iter__() отсутствует, но реализован метод __getitem__(), Python создает итератор, который извлекает элементы по индексам, начиная с 0.

Если ни один из этих методов не реализован, объект не считается итерируемым, и при попытке вызвать iter() будет возбуждено исключение TypeError: '<тип объекта>' object is not iterable.

➡️ Более подробно про итерируемые объекты и итераторы мы говорим в наших курсах для профессионалов и ООП. Напоминаем, что до конца июня курсы можно купить со скидкой 1500 рублей!

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

🔥 — если знали, как работает цикл for
👀 — если узнали об этом впервые

#python #ооп #профи
  • 🔥 99
  • 👀 55
  • ❤‍🔥 7
  • ❤ 5
  • 👍 2
  • 🤷‍♂ 1
  • ✍ 1
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 →