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

Как создать итератор

В Python итератор можно создать двумя основными способами:

  1. Используя класс с методами __iter__ и __next__
    python
    class MyIterator:
        def __init__(self, max_num):
            self.max_num = max_num
            self.current = 0
    
        def __iter__(self):
            return self
    
text
   def __next__(self):
       if self.current < self.max_num:
           self.current += 1
           return self.current
       raise StopIteration

it = MyIterator(5)
for num in it:
print(num) # 1, 2, 3, 4, 5

text

2. **Используя генератор (функцию с `yield`)**  
```python
def my_generator(max_num):
    current = 0
    while current < max_num:
        current += 1
        yield current

gen = my_generator(5)
for num in gen:
    print(num)  # 1, 2, 3, 4, 5

Генераторы более лаконичны и автоматически реализуют протокол итератора.

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

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

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

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