Там переменная v в принципе не нужна, потому что это итератор, возвращающий только 1 значение (по крайней мере я так понял замечание). И, соответственно, yield(i).
Вопрос о читаемости скорее про то, лучше или хуже станет код, когда в нем будут использоваться итераторы. И скорее акцент на "использоваться", нежели на то, как они будут реализованы. Ведь мы хотим написать способ обхода 1 раз, потому что он возможно какой-то сложный, чтобы его потом во многих местах использовать. Вот мы создали итератор, у него есть какое-то имя. По его имени можно будет предположить, что будет происходить, не вчитываясь во внутрянку. Или вчитаться 1 раз, а не каждый раз заново.
В первой переменной передаем результат, во второй ошибку. В теле цикла ошибку обрабатываем. Если я правильно понял вопрос.
Там переменная v в принципе не нужна, потому что это итератор, возвращающий только 1 значение (по крайней мере я так понял замечание). И, соответственно,
yield(i)
.Это разные языки. У них разный синтаксис.
Вопрос о читаемости скорее про то, лучше или хуже станет код, когда в нем будут использоваться итераторы. И скорее акцент на "использоваться", нежели на то, как они будут реализованы. Ведь мы хотим написать способ обхода 1 раз, потому что он возможно какой-то сложный, чтобы его потом во многих местах использовать. Вот мы создали итератор, у него есть какое-то имя. По его имени можно будет предположить, что будет происходить, не вчитываясь во внутрянку. Или вчитаться 1 раз, а не каждый раз заново.