Python에서 기본 반복기 구축
값 모음을 캡슐화하는 클래스가 있고 다음을 허용하는 반복기를 생성한다고 가정해 보겠습니다. 해당 값에 순차적으로 액세스합니다.
반복자를 구축하려면 반복자 프로토콜을 구현합니다. 두 가지 방법을 정의해야 합니다.
1. __iter__(): 반복자 객체 자체를 초기화하고 반환합니다.
2. __next__(): 시퀀스의 다음 값을 반환하거나 더 이상 값이 없으면 StopIteration을 발생시킵니다.
예제 반복자:
다음 클래스를 고려하세요. 목록 값:
class Example: def __init__(self, values): self.values = values # __iter__ returns the iterable itself def __iter__(self): return self # __next__ returns the next value and raises StopIteration def __next__(self): if len(self.values) > 0: return self.values.pop(0) else: raise StopIteration()
사용법:
이 반복자를 사용하면 예제 클래스의 값을 반복할 수 있습니다.
e = Example([1, 2, 3]) for value in e: print("The example object contains", value)
이것은 다음을 인쇄합니다:
The example object contains 1 The example object contains 2 The example object contains 3
Iterator 사용자 정의:
위의 예에서 볼 수 있듯이 반복자의 next 메서드는 값을 가져오고 반환하는 방법을 제어할 수 있으므로 사용자 정의된 반복기에 더 큰 유연성을 제공합니다.
위 내용은 `__iter__` 및 `__next__`를 사용하여 Python에서 사용자 정의 반복자를 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!