Встречается на 1% собеседований по Python
Зачем нужен генератор
Генераторы в 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)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы