Junior — Middle
67
Какой общие черты существуют у итераторов и генераторов в языке Python?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Итераторы и генераторы в Python имеют несколько общих черт:
- Оба поддерживают протокол итерации — можно использовать в циклах
forи других конструкциях, ожидающих итерируемый объект. - Ленивое вычисление — элементы вычисляются по мере необходимости, что экономит память при работе с большими или бесконечными последовательностями.
- Поддержка функции
next()— у итераторов есть метод__next__(), а генераторы автоматически реализуют этот метод, позволяя получать следующий элемент.
Пример генератора, который является итератором:
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
gen = count_up_to(3)
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # 3