Итераторы и итерируемые объекты — это фундаментальные концепции Python, которые упрощают эффективное выполнение циклов и обход данных. Это руководство даст вам четкое представление об итераторах и итерируемых объектах, а также примеры кода, демонстрирующие их использование.

Оглавление

  1. Введение в Iterators и Iterables
  2. Итерации: объекты с методом __iter__
  3. Итераторы: объекты с методом __next__
  4. Использование итераторов и итераций в циклах
  5. Создание пользовательских итераций и итераторов
  6. Заключение


1. Введение в Iterators и Iterables

  • Итерируемые объекты: объекты, которые можно зацикливать или повторять. Списки, кортежи, строки, словари и многое другое являются примерами итерируемых объектов.
  • Итераторы. Объекты, позволяющие перебирать элементы итерируемого объекта. Они поддерживают состояние итерации.

2. Итерации: объекты с методом __iter__

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

my_list = [1, 2, 3]
my_iter = my_list.__iter__()  # Equivalent to iter(my_list)

print(next(my_iter))  # Output: 1
print(next(my_iter))  # Output: 2
print(next(my_iter))  # Output: 3

3. Итераторы: объекты с методом __next__

У итераторов есть метод __next__, предоставляющий следующий элемент в последовательности. Когда элементов больше не осталось, возникает исключение StopIteration.

my_list = [1, 2, 3]
my_iter = iter(my_list)

print(my_iter.__next__())  # Output: 1
print(my_iter.__next__())  # Output: 2
print(my_iter.__next__())  # Output: 3

4. Использование итераторов и итерируемых объектов в циклах