tgoop.com/quiz_python/3653
Create:
Last Update:
Last Update:
1. Создание генератора:
G = gen()
В этой строке создается объект генератора
G
, но код внутри функции gen()
не начинает выполняться, пока не будет вызван next(G)
.2. Первый вызов
next(G
):
print(next(G)) # 0
Когда вы вызываете
next(G)
в первый раз, генератор начинает выполнение с начала функции gen()
. Внутри функции запускается цикл for
и выполняется первая итерация, где i
становится равным 0. Затем происходит yield i
, что означает, что значение 0 возвращается, и генератор приостанавливается. Значение 0 выводится на экран.3. Второй вызов
next(G)
:
print(next(G)) # None 1
Теперь, когда вы вызываете
next(G
) во второй раз, генератор продолжает выполнение с той точки, где он был приостановлен (после yield
). В этот момент выполнение доходит до X = yield i
, и так как вызывается next(G)
без передачи аргумента, X
будет установлено в значение None
. Затем срабатывает print(X)
, и выводится None
.Затем генератор продолжает выполнение, и значение
X
становится равным 1.BY Python: задачки и вопросы
Share with your friend now:
tgoop.com/quiz_python/3653