Встречается на собеседованиях • сегодня

Какие знаешь особенности генератора в Python

Генераторы в Python — это функции, которые используют yield вместо return и возвращают итератор. Они ленивые (вычисляют элементы по требованию), что экономит память.

Особенности:

  1. Ленивые вычисления — элементы генерируются один за другим, а не все сразу.
  2. Одноразовость — после завершения итерации генератор нельзя переиспользовать.
  3. Состояние сохраняется — между вызовами next() генератор "помнит" своё состояние.

Пример:

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
print(next(gen))  # 3
# Дальше StopIteration

Генераторы идеальны для работы с большими или бесконечными последовательностями.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы