Писал ли свои генераторы
Python
Junior
Без компании
Писал ли свои генераторы
Ответы
Генераторы в Python — это функции, которые используют ключевое слово `yield` вместо `return` для возврата итератора. Они позволяют лениво генерировать значения, экономя память.
Пример простого генератора:
```
def count_up_to(max):
n = 1
while n <= max:
yield n
n += 1
for num in count_up_to(5):
print(num) # 1, 2, 3, 4, 5
```
Особенности:
- Генераторы сохраняют состояние между вызовами.
- Не хранят все элементы в памяти, как списки.
- Могут быть бесконечными.
- Совместимы с `next()`, `for` и другими итерационными операциями.
Генераторные выражения (`(x for x in range(10))` — это компактная форма генераторов.