Встречается на собеседованиях • сегодня
Как реализован генератор в Python
Генератор в Python — это функция, которая использует ключевое слово yield вместо return. При вызове она возвращает итератор, сохраняя состояние между вызовами.
Пример:
python
def count_up_to(max):
n = 1
while n <= max:
yield n
n += 1
counter = count_up_to(5) # создаёт генератор
for num in counter:
print(num) # 1, 2, 3, 4, 5
text
Особенности:
1. Ленивые вычисления — значения генерируются по требованию.
2. Потребляют мало памяти, так как не хранят всю последовательность.
3. После завершения работы (`StopIteration`) повторно не используются.
Можно создавать генераторные выражения:
```python
gen = (x**2 for x in range(5)) # аналогично списковому, но с круглыми скобками
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы