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

Как реализован генератор в 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))  # аналогично списковому, но с круглыми скобками
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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