Итератор — это объект в Python, который позволяет вам перемещаться по контейнеру (например, списку, кортежу или пользовательскому объекту) и извлекать его элементы один за другим. В этом руководстве мы изучим концепцию итераторов, поймем, как они работают, и научимся создавать собственные итераторы в Python.
Оглавление
- Введение в итераторы
- Протокол Итератора
- Создание простого итератора
- Создание класса итератора
- Использование итераторов с пользовательскими объектами
- Создание итерируемого объекта
- Заключение
1. Введение в итераторы
Итераторы — это объекты, которые реализуют протокол итераторов, позволяя вам последовательно перебирать элементы контейнера. Они обеспечивают более экономичный способ перебора больших наборов данных по сравнению с использованием списков или других структур данных. Встроенные типы данных Python, такие как списки и словари, по умолчанию являются итерируемыми.
2. Протокол Итератора
Протокол итератора требует, чтобы в объекте были реализованы два метода:
__iter__()
: Этот метод возвращает сам объект итератора.__next__()
: Этот метод возвращает следующее значение итератора. Если больше нет элементов для возврата, возникает исключениеStopIteration
.
3. Создание простого итератора
Начнем с создания простого итератора, который генерирует последовательность чисел. Мы определим класс SimpleIterator
, реализующий протокол итератора.
class SimpleIterator: def __init__(self…