Files
freeCodeCamp/guide/russian/python/iterators/index.md
2018-10-16 21:32:40 +05:30

40 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Python Iterators
localeTitle: Итераторы на Python
---
Python поддерживает концепцию итерации по контейнерам. Это реализовано с использованием двух различных методов; они используются, чтобы позволить пользовательским классам поддерживать итерацию.
[Документы Python - Типы итераторов](https://docs.python.org/3/library/stdtypes.html#iterator-types)
Итерация - это процесс программного повторения шага определенное количество раз. Программист может использовать итерацию для выполнения одной и той же операции для каждого элемента в коллекции данных, например, для распечатки каждого элемента в списке.
* Объекты могут реализовать `__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:
```