it-source

파이썬에서 생성기 함수에서 한 번에 하나의 값을 얻는 방법은 무엇입니까?

criticalcode 2023. 7. 20. 21:58
반응형

파이썬에서 생성기 함수에서 한 번에 하나의 값을 얻는 방법은 무엇입니까?

매우 기본적인 질문 - 파이썬의 생성기에서 하나의 값을 얻는 방법?

지금까지 저는 글을 써서 하나를 얻을 수 있다는 것을 알았습니다.gen.next()이게 올바른 방법인지 확인하고 싶을 뿐입니다.

예, 또는next(gen)2.6 이상.

Python <= 2.5에서 사용gen.next()이것은 모든 Python 2.x 버전에서 작동하지만 Python 3.x에서는 작동하지 않습니다.

Python >= 2.6에서 다음을 사용합니다.next(gen)이것은 내장된 기능이며 더 선명합니다.그것은 또한 파이썬 3에서도 작동할 것입니다.

이 두 가지 모두 특별한 이름을 가진 함수를 호출하게 됩니다.next()하위 분류를 통해 재정의할 수 있습니다.그러나 파이썬 3에서는 이 함수의 이름이 다음과 같이 변경되었습니다.__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

이것이 올바른 방법입니다.

사용할 수도 있습니다.next(gen).

http://docs.python.org/library/functions.html#next

python 3 이상에서 생성기 개체와 연결된 값을 가져오려면 다음을 사용합니다.next(<your generator object>)next()에 대한 후속 호출은 대기열에서 연속적인 객체 값을 생성합니다.

파이썬 3에서 당신은 없습니다.gen.next()하지만 당신은 여전히 사용할 수 있습니다.next(gen)당신이 나에게 묻는다면 약간 이상하지만 그것은 그런 것입니다.

언급URL : https://stackoverflow.com/questions/2419770/how-to-get-one-value-at-a-time-from-a-generator-function-in-python

반응형