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

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

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

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

  1. Ленивые вычисления — значения генерируются на лету, а не хранятся в памяти.
  2. Одноразовые — после прохода по генератору он истощается.
  3. Состояние — сохраняют состояние между вызовами.
  4. Эффективны для больших данных или бесконечных последовательностей.

Пример:

python
def count_up_to(n):
    i = 1
    while i <= n:
        yield i
        i += 1

gen = count_up_to(5)
print(list(gen))  # [1, 2, 3, 4, 5]

Генераторные выражения ((x for x in range(10))) — компактная альтернатива для простых случаев.

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

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

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

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