파이썬의 "iter" 메서드는 객체에 대한 반복자를 반환하는 내장 함수입니다. 반복자는 반복자 프로토콜을 구현하는 객체로, 두 가지 방법으로 구성된다: "iter"와 "next". "iter" 메소드는 반복자 객체 자체를 반환하고, "next" 메소드는 시퀀스의 다음 항목을 반환합니다.
예를 들어, 목록에서 "iter"를 호출하면 목록의 요소를 반복하는 데 사용할 수 있는 반복기가 반환됩니다. 반복기에서 "다음"을 호출하면 더 이상 요소가 없을 때까지 목록에서 다음 요소를 반환합니다. 이 때 "반복 중지" 예외가 발생합니다.
사용자 지정 반복기를 만들려면 "iter" 및 "next" 메서드를 정의하여 반복기 프로토콜을 구현하는 클래스를 정의할 수 있습니다.
class Counter
def __init__(self, stop):
self.current = 0
self.stop = stop
def __iter__(self):
return self
def __next__(sef)
if self.currnet < self.stop
r = self.current
self.current += 1
return r
else:
raise StopIteration
for i in Counter(3):
print(i, end=' ')
파이썬에서 "iter" 방법은 반복자 설계 패턴의 구현이다. 이 설계 패턴은 일반적으로 발생하는 소프트웨어 설계 문제에 대한 솔루션을 제공하는 설계 패턴 모음인 GoF(Gang of Four) 설계 패턴의 일부입니다. 반복기 설계 패턴은 기본 표현을 노출하지 않고 집합 객체의 요소에 순차적으로 액세스할 수 있는 방법을 제공합니다.
반복자 설계 패턴은 주어진 객체에 대해 반복자 객체를 반환하는 "iter" 메서드와 시퀀스의 다음 항목을 검색하는 데 사용되는 "next" 함수를 사용하여 파이썬에서 구현된다. "iter" 메서드는 파이썬 표준 라이브러리의 일부이며 목록, 사전, 문자열과 같은 기본 제공 클래스와 "iter" 메서드와 "next" 메서드를 정의하여 반복자 프로토콜을 구현하는 사용자 정의 클래스에서 구현됩니다.