Відповіді:
У 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'