Как из функции сделать генератор в Python
Python
Senior
Без компании
Как из функции сделать генератор в Python
Ответы
Для преобразования функции в генератор используется ключевое слово `yield` вместо `return`. Когда функция содержит `yield`, она автоматически становится генератором, возвращающим итератор.
Пример:
```
def simple_generator(n):
for i in range(n):
yield i * 2
# Использование
gen = simple_generator(5)
for num in gen:
print(num) # 0, 2, 4, 6, 8
```
Ключевые особенности:
- Генератор сохраняет состояние между вызовами
- Значения генерируются "лениво" (по одному при каждом вызове)
- После выполнения всех `yield` бросается `StopIteration`