2010-03-10 5 views

답변

82

예, 또는 2.6+에서 next(gen).

39

파이썬 < = 2.5의 경우 gen.next()을 사용하십시오. 이것은 모든 Python 2.x 버전에서 작동하지만, Python 3.x에서는 작동하지 않습니다.

파이썬> = 2.6에서는 next(gen)을 사용하십시오. 이것은 내장 함수이며 더 명확합니다. 또한 파이썬 3

에서 작동이 두 서브 클래스에 의해 오버라이드 (override) 할 수있는 특별라는 이름의 기능, next()를 호출 결국. 그러나 파이썬 3에서는 다른 특수 함수와 일치하도록이 함수의 이름이 __next__()으로 변경되었습니다.

1

python 3에서는 gen.next()가 없지만 next (gen)를 사용할 수 있습니다. 당신이 나에게 묻는다면 조금 기괴하지만 그게 그 방법입니다.

2

사용 (파이썬 3) 여기서

next(generator) 

0 
1 
인쇄한다 일례

def fun(x): 
    n = 0 
    while n < x: 
     yield n 
     n += 1 
z = fun(10) 
next(z) 
next(z) 
이다

관련 문제