2.7 KiB
title | localeTitle |
---|---|
Python Iterators | Итераторы на Python |
Python поддерживает концепцию итерации по контейнерам. Это реализовано с использованием двух различных методов; они используются, чтобы позволить пользовательским классам поддерживать итерацию.
Документы Python - Типы итераторов
Итерация - это процесс программного повторения шага определенное количество раз. Программист может использовать итерацию для выполнения одной и той же операции для каждого элемента в коллекции данных, например, для распечатки каждого элемента в списке.
-
Объекты могут реализовать
__iter__()
который возвращает объект итератора для поддержки итерации. -
Объекты Iterator должны реализовывать:
-
__iter__()
: возвращает объект итератора. -
__next__()
: возвращает следующий объект контейнера.
итератор object = 'abc'. iter () print ( объект итератора ) print (id ( объект итератора )) print (id (iterator object. iter ())) # Возвращает сам итератор. print (iterator object. next ()) # Возвращает 1-й объект и продвигает итератор. print (iterator object. next ()) # Возвращает 2-й объект и продвигает итератор. print (iterator object. next ()) # Возвращает 3-й объект и продвигает итератор. print ( объект итератора next ()) # вызывает исключение StopIteration.
-
Выход :
<str_iterator object at 0x102e196a0>
4343305888
4343305888
a
b
c
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-1-d466eea8c1b0> in <module>()
6 print(iterator_object.__next__()) # Returns 2nd object and advances iterator.
7 print(iterator_object.__next__()) # Returns 3rd object and advances iterator.
----> 8 print(iterator_object.__next__()) # Raises StopIteration Exception.
StopIteration: