Back to questions
Arendadata
Junior — Middle
56
Какой общие черты существуют у итераторов и генераторов в языке Python?
Companies where asked
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