Встречается на собеседованиях • сегодня

Зачем нужен метод __iter__

Метод __iter__ позволяет объекту быть итерируемым, то есть его можно использовать в циклах for, генераторах и других контекстах, ожидающих последовательности. Он должен возвращать итератор — объект с методом __next__, который предоставляет элементы один за другим.

Пример:

python
class CountUpTo:
    def __init__(self, max):
        self.max = max

    def __iter__(self):
        self.current = 0
        return self

    def __next__(self):
        if self.current >= self.max:
            raise StopIteration
        self.current += 1
        return self.current - 1

for num in CountUpTo(5):
    print(num)  # 0, 1, 2, 3, 4

Если __iter__ не реализован, Python попытается использовать __getitem__ для итерации. Но явная реализация __iter__ делает код чище и эффективнее.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы