Встречается на собеседованиях • сегодня
Ялвяется ли Генератор частным случаем Итератор
Да, генератор является частным случаем итератора. Генератор автоматически реализует протокол итератора, предоставляя методы __iter__() и __next__(). Основное отличие — генераторы создаются с помощью функций с yield или генераторных выражений, а итераторы требуют явной реализации этих методов.
Пример генератора:
python
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
gen = count_up_to(3) # генератор
print(next(gen)) # 1
print(next(gen)) # 2Пример итератора:
python
class CountUpTo:
def __init__(self, n):
self.n = n
self.i = 1
def __iter__(self):
return self
def __next__(self):
if self.i > self.n:
raise StopIteration
i = self.i
self.i += 1
return i
iterator = CountUpTo(3) # итератор
print(next(iterator)) # 1
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы