Sobes.tech
Back to questions
Junior — Middle
56

Какой общие черты существуют у итераторов и генераторов в языке Python?

Companies where asked
ArendadataArendadata

Answer from AI

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