아주 기본적인 질문 - 파이썬에서 생성기로부터 하나의 값을 얻는 방법?파이썬에서 생성기로부터 하나의 값을 얻는 방법?
지금까지 나는 gen.next()
을 작성하여 하나를 얻을 수 있음을 발견했습니다. 나는 이것이 올바른 방법인지 확인하고 싶습니까?
아주 기본적인 질문 - 파이썬에서 생성기로부터 하나의 값을 얻는 방법?파이썬에서 생성기로부터 하나의 값을 얻는 방법?
지금까지 나는 gen.next()
을 작성하여 하나를 얻을 수 있음을 발견했습니다. 나는 이것이 올바른 방법인지 확인하고 싶습니까?
예, 또는 2.6+에서 next(gen)
.
파이썬 < = 2.5의 경우 gen.next()
을 사용하십시오. 이것은 모든 Python 2.x 버전에서 작동하지만, Python 3.x에서는 작동하지 않습니다.
파이썬> = 2.6에서는 next(gen)
을 사용하십시오. 이것은 내장 함수이며 더 명확합니다. 또한 파이썬 3
에서 작동이 두 서브 클래스에 의해 오버라이드 (override) 할 수있는 특별라는 이름의 기능, next()
를 호출 결국. 그러나 파이썬 3에서는 다른 특수 함수와 일치하도록이 함수의 이름이 __next__()
으로 변경되었습니다.
python 3에서는 gen.next()가 없지만 next (gen)를 사용할 수 있습니다. 당신이 나에게 묻는다면 조금 기괴하지만 그게 그 방법입니다.
사용 (파이썬 3) 여기서
next(generator)
는
0
1
인쇄한다 일례
def fun(x):
n = 0
while n < x:
yield n
n += 1
z = fun(10)
next(z)
next(z)
이다