freeCodeCamp/guide/russian/python/iterators/index.md

2.7 KiB
Raw Blame History

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: