Ответы:
В Python <= 2.5 используйте gen.next(). Это будет работать для всех версий Python 2.x, но не для Python 3.x
В Python> = 2.6 используйте next(gen). Это встроенная функция, и она более понятна. Это также будет работать в Python 3.
Оба они в конечном итоге вызывают функцию со специальным именем next(), которую можно переопределить путем создания подклассов. Однако в Python 3 эта функция была переименована в __next__(), чтобы соответствовать другим специальным функциям.
Это правильный способ сделать это.
Вы также можете использовать next(gen).
Чтобы получить значение, связанное с объектом генератора в Python 3 и выше, используйте next(<your generator object>). последующие вызовы next () производят последовательные значения объекта в очереди.
В python 3 у вас его нет gen.next(), но вы все равно можете использовать next(gen). Если вы спросите меня, это немного странно, но так оно и есть.
W1 = params.next()но получаю ошибкуAttributeError: 'generator' object has no attribute 'next'