Junior — Middle
Quais são as características comuns entre iteradores e geradores na linguagem Python?
sobes.tech IA
Resposta da IA
Итераторы и генераторы в 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