Встречается на собеседованиях • сегодня
Как можно взаимодействовать с генератором
В Python с генератором можно взаимодействовать несколькими способами:
- Через
next()- получаем следующее значение:
python
gen = (x for x in range(3))
print(next(gen)) # 0
print(next(gen)) # 1- В цикле
for- автоматически обрабатывает StopIteration:
python
for item in gen:
print(item) # 2 (только оставшееся)- Через
send()- передача значений в генератор:
python
def gen():
val = yield 1
yield val + 2
g = gen()
next(g) # 1
print(g.send(10)) # 12- Через
throw()- бросает исключение в генератор:
python
g.throw(ValueError, "Error!")- Через
close()- останавливает генератор:
python
g.close()Генераторы одноразовые - после исчерпания или закрытия их нельзя использовать повторно. Для повторного использования нужно создать новый экземпляр.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы