Как получить одно значение за раз из функции генератора в Python?
Очень простой вопрос - как получить одно значение от генератора в Python?
До сих пор я нашел, что могу получить его, написав gen.next(). Я просто хочу убедиться, что это правильный путь?
Ответ 1
Да или next(gen) в 2.6 +.
Ответ 2
В Python <= 2.5 используйте gen.next(). Это будет работать для всех версий Python 2.x, но не Python 3.x
В Python >= 2.6 используйте next(gen). Это встроенная функция и понятна. Он также будет работать на Python 3.
Оба из них в конечном итоге вызывают специально названную функцию next(), которая может быть переопределена подклассификацией. Однако в Python 3 эта функция была переименована в __next__(), чтобы соответствовать другим специальным функциям.