"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 파이썬 반복자 대 발전기 : 언제 어느 것을 사용해야합니까?

파이썬 반복자 대 발전기 : 언제 어느 것을 사용해야합니까?

2025-03-23에 게시되었습니다
검색:758

Python Iterators vs. Generators: When Should I Use Which?

반복자 : 데이터를 통과하기위한 일반적인 추상화

iterator는 다음 방법을 가진 모든 대상을 포함하는 더 일반적인 추상화이다. 그 자체. 즉, 반복자는 목록, 튜플 또는 사용자 정의 클래스와 같은 다양한 데이터 구조를 나타내고이를 통과하는 일관된 방법을 제공 할 수 있음을 의미합니다.

Generator : 수율 마법의 특수 유형의 반복기

모든 생성기는 반복적이지 않지만 반대가 아닙니다. 발전기는 하나 이상의 수율 표현식을 포함하는 함수를 호출하여 구성됩니다. 이 수율 표현식은 기능의 실행 및 반환 값을 일시적으로 일시 중지합니다. 결과 객체는 반복자의 특성을 가지고 있지만 그 구현은 고유합니다.

반복자 대 생성기를 사용할 때

맞춤형 반복자 :

가보고가 필요할 때 옵트를 추가하여 State Tracking이 필요합니다. __next __.

생성기 :

생성기는 일반적으로 대부분의 시나리오에 대해 구현하기에 더 적합하고 간단합니다. 특히 상태 유지 보수가 최소화됩니다. 수율 표현식은 프레임 서스펜션 및 재개를 처리하여 상태를 관리하기 쉽게 만듭니다. IN 범위 (시작, 중지)의 경우 : 수율 i * i # 수율을 사용하여 값을 일시 중지하고 반환 값

사용자 정의 반복기 구현 :

클래스 사각형 (개체) : def __init __ (자기, 시작, 중지) : self.start = 시작 self.stop = 중지 def __iter __ (self) : 자아를 반환하십시오 def __next __ (self) : self.start> = self.stop 인 경우 : 중지를 높이십시오 current = self.start * self.start self.start = 1 return current

생성기 접근 방식은 코드가 적지 만 사용자 정의 반복기는 추가 방법으로 더 많은 유연성을 제공합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3