# iter()

`iter()` - это встроенная функция в Python, которая получает итератор для итерируемого объекта.

**Назначение**:

* Получение итератора из итерируемого объекта (списка, строки, кортежа, словаря и т.д.).
* Позволяет итерировать элементы объекта с помощью циклов или функций, которые работают с итераторами.

**Возврат**:

* Возвращает итератор для переданного итерируемого объекта.

**Описание**:

* Принимает один обязательный аргумент - итерируемый объект.
* Необязательный второй аргумент - метод `sentinel`, который указывает на конец итерации (используется в редких случаях).
* Итератор - это объект, который реализует методы `__iter__()` и `__next__()`.
* Метод `__next__()` возвращает следующий элемент в последовательности при каждом вызове.

**Примеры**:

1. Получение итератора из списка
2. Использование `iter()` в цикле `for`
3. Создание бесконечного итератора

{% tabs %}
{% tab title="1." %}

```python
my_list = [1, 2, 3, 4, 5]
my_iter = iter(my_list)
print(next(my_iter))  # Вывод: 1
print(next(my_iter))  # Вывод: 2
```

{% endtab %}

{% tab title="2." %}

```python
my_string = "Hello"
for char in iter(my_string):
    print(char)
```

{% endtab %}

{% tab title="3." %}

```python
def infinite_iter():
    num = 0
    while True:
        yield num
        num += 1

infinite = infinite_iter()
print(next(infinite))  # Вывод: 0
print(next(infinite))  # Вывод: 1
print(next(infinite))  # Вывод: 2
```

{% endtab %}
{% endtabs %}

**Использование**:

* Для создания итераторов из различных итерируемых объектов, что позволяет перебирать их элементы с помощью циклов или соответствующих функций.
* При работе с генераторами и генераторными выражениями, которые возвращают итератор.
* В функциональном программировании, где итераторы используются для создания ленивых последовательностей и обработки данных по мере необходимости.
* Для реализации собственных итерируемых объектов, определяя методы `__iter__()` и `__next__()`.
* В библиотеках и фреймворках, где требуется работать с итерируемыми объектами и итераторами.

Функция `iter()` является ключевой для реализации концепции итерации в Python. Она позволяет абстрагироваться от конкретного типа данных и работать с итераторами, что упрощает написание кода и повышает его гибкость.
