2.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, localeTitle
| 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: