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

Что такое генератор в Python

Генератор в Python — это специальный объект, создающий последовательность значений "по запросу". Он не занимает много памяти, так как производит элементы последовательно, а не хранит их все разом. Основное преимущество генераторов заключается в экономии оперативной памяти и повышении быстродействия при работе с большими объемами данных.

Простыми словами: Представьте себе конвейерную ленту, которая выдает яблоки по мере необходимости, а не склад, где хранятся все яблоки сразу. Каждый раз, когда вам нужно яблоко, лента подаёт его. Именно так работает генератор: он генерирует значения "на лету", когда это нужно программе.

Особенности генераторов:

  • Экономят память.
  • Работают быстрее, так как не загружают все данные сразу.
  • Удобны для обработки огромных объемов данных.

Как создать генератор: Используется ключевое слово yield, которое превращает обычную функцию в генераторную.

text
def my_generator():
    yield 1
    yield 2
    yield 3

gen = my_generator()
print(next(gen))  # 1
print(next(gen))  # 2
print(next(gen))  # 3

Коротко:
Генератор — это способ получать значения по очереди, не загружая в память всю последовательность сразу.

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