Встречается на 3% собеседований по Python
Как написать итератор
В Python итератор — это объект, который реализует протокол итератора, состоящий из методов __iter__() и __next__().
__iter__()возвращает сам объект итератора.__next__()возвращает следующий элемент или вызываетStopIteration, если элементов больше нет.
Пример простого итератора, который генерирует числа от 0 до заданного предела:
python
class CountIterator:
def __init__(self, limit):
self.current = 0
self.limit = limit
def __iter__(self):
return self
def __next__(self):
if self.current < self.limit:
num = self.current
self.current += 1
return num
else:
raise StopIteration
# Использование:
for num in CountIterator(5):
print(num) # 0, 1, 2, 3, 4Также можно создать итератор с помощью генератора (функции с yield), что проще:
python
def count_generator(limit):
current = 0
while current < limit:
yield current
current += 1
for num in count_generator(5):
print(num) # 0, 1, 2, 3, 4
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы