в генераторе yield в python 3 нет функции next()


на этот вопрос, у меня есть бесконечная последовательность с использованием генераторов Python. Но тот же код не работает в Python 3, потому что кажется, что нет

2 66

2 ответа:

в Python 3, Используйте next(uptofive) вместо uptofive.next().

встроенный next() функция также работает в Python 2.6 или выше.

в Python 3, чтобы сделать синтаксис более последователен,next() метод был переименован в __next__(). Тебе бы это пригодилось. Это объясняется в PEP 3114.

следуя решению Грега и вызывая builtin next() функции (который затем пытается найти объекта __next__() способ) рекомендуется.