Встречается на 3% собеседований по Python
Какие методы реализованы у генераторов
Генераторы в Python имеют несколько встроенных методов для управления их выполнением:
send(value)– отправляет значение в генератор, которое становится результатом текущегоyield.pythondef gen(): x = yield 1 yield x + 2 g = gen() next(g) # 1 print(g.send(10)) # 12
-
throw(exc)– вызывает исключениеexcна текущемyield.pythondef gen(): try: yield 1 except ValueError: yield "Caught!" g = gen() next(g) print(g.throw(ValueError)) # "Caught!" -
close()– вызываетGeneratorExitв генераторе, завершая его.pythondef gen(): try: yield 1 except GeneratorExit: print("Closed") g = gen() next(g) g.close() # Выведет "Closed" -
__next__()(илиnext()) – запускает выполнение до следующегоyield.
Генераторы также поддерживают итерацию через for или next().
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы