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

Зачем нужен генератор

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

Ключевое отличие от обычных функций — использование yield вместо return. При вызове генератор возвращает объект-итератор, а выполнение функции приостанавливается до следующего вызова next().

Пример:

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

counter = count_up_to(5)
print(next(counter))  # 1
print(next(counter))  # 2

Основные преимущества:

  • Экономия памяти (значения генерируются "на лету")
  • Возможность работы с бесконечными потоками данных
  • Удобство для конвейерной обработки данных (например, в сочетании с map, filter)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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