정의 및 구현
생성기는 수율 키워드를 사용하여 반복자를 반환하는 기능입니다. 호출되면 발전기는 한 번에 하나씩 일련의 값을 생성합니다. 전체 시퀀스를 메모리에 컴퓨팅하고 저장하는 대신 발전기가 주문형 값을 산출합니다.
다음 예를 고려하십시오. def my_gen (n) : 수율 n 수율 n 1
호출 my_gen (6)을 반복 할 때 값 6과 7을 산출하는 객체를 만듭니다 :
g = my_gen (6) 다음 (g) # 출력 : 6 다음 (g) # output : 7
def my_gen(n): yield n yield n 1
생성기의 이점
g = my_gen(6) next(g) # Output: 6 next(g) # Output: 7
생성기의 이점은 몇 가지 장점을 제공합니다. 특정 개념을 설명하는 방법, 반환되는 장점 기능의 필요성을 제거합니다. Lists. 이것은 메모리를 압도하는 데이터 스트림을 다룰 때 특히 유용합니다.
g = my_gen(6) next(g) # Output: 6 next(g) # Output: 7무한 스트림 :
생성기는 무한 시퀀스를 나타낼 수 있습니다. 예를 들어, Fibonacci 번호는 무기한으로 생성 될 수 있습니다 :
def fib () : A, B = 0, 1 사실이지만 : 수율 a a, b = b, a b
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3