반응형
Python의 생성기 함수에서 한 번에 하나의 값을 얻는 방법은 무엇입니까?
매우 기본적인 질문-Python의 생성기에서 하나의 값을 얻는 방법은 무엇입니까?
지금까지 작성하여 얻을 수 있음을 발견했습니다 gen.next()
. 이것이 올바른 방법인지 확인하고 싶습니까?
예, 또는 next(gen)
2.6 이상입니다.
Python <= 2.5에서는 gen.next()
. 이것은 모든 Python 2.x 버전에서 작동하지만 Python 3.x에서는 작동하지 않습니다.
Python> = 2.6에서는 next(gen)
. 이것은 내장 기능이며 더 명확합니다. Python 3에서도 작동합니다.
이 두 가지 모두 next()
하위 클래스로 재정의 할 수 있는 특수 이름의 함수를 호출합니다 . 그러나 Python 3에서이 함수는 __next__()
다른 특수 함수와 일치하도록 로 이름이 변경되었습니다 .
이것이 올바른 방법입니다.
를 사용할 수도 있습니다 next(gen)
.
http://docs.python.org/library/functions.html#next
사용 (파이썬 3 용)
next(generator)
다음은 예입니다.
def fun(x):
n = 0
while n < x:
yield n
n += 1
z = fun(10)
next(z)
next(z)
인쇄해야
0
1
파이썬 3에서는 .이 gen.next()
없지만 next(gen)
. 당신이 저에게 물어 보면 약간 기이하지만 그것이 방법입니다.
반응형
'code' 카테고리의 다른 글
ContextMenu를 표시하기 전에 오른쪽 클릭에서 TreeView 노드를 선택 (0) | 2020.08.28 |
---|---|
org.w3c.dom.Document를 stdout에 예쁜 인쇄하는 가장 짧은 방법은 무엇입니까? (0) | 2020.08.28 |
git update-index --assume-unchanged on directory (0) | 2020.08.28 |
SQL로 카운터를 실행할 때 "갭"을 어떻게 찾습니까? (0) | 2020.08.28 |
자바 스크립트 : 최고의 싱글 톤 패턴 (0) | 2020.08.28 |