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

Как написать генератор

Генератор в 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. Потребляет меньше памяти, чем списки, так как не хранит все элементы сразу.  

**Генераторные выражения:**  
```python
squares = (x**2 for x in range(10))  # Круглые скобки вместо квадратных

Генераторы полезны для обработки больших данных или бесконечных последовательностей.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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