반복자는 셀 수 있는 수의 값을 포함하는 객체입니다.
Iterator는 반복 가능한 객체이므로 모든 값을 반복할 수 있습니다.
기술적으로 Python에서 반복자는 iter() 및 next() 메서드를 포함하는 반복자 프로토콜을 구현하는 개체입니다.
목록, 튜플, 사전 및 세트는 모두 반복 가능한 객체입니다. Iterator를 얻을 수 있는 반복 가능한 컨테이너입니다.
이러한 모든 개체에는 반복자를 가져오는 iter() 메서드가 있습니다.
인스턴스
튜플에서 반복자를 반환하고 각 값을 인쇄합니다.
mytuple = ("apple", "banana", "cherry") myit = iter(mytuple) print(next(myit)) print(next(myit)) print(next(myit))
인스턴스 실행
apple banana cherry
Even 문자열 둘 다 반복 가능한 개체이며 반환할 수 있습니다. 반복자:
Instances
문자열도 일련의 문자를 포함하는 반복 가능한 객체입니다.
mystr = "banana" myit = iter(mystr) print(next(myit)) print(next(myit)) print(next(myit)) print(next(myit)) print(next(myit)) print(next(myit))
실행 인스턴스
b a n a n a
for 루프는 반복 가능한 객체를 반복합니다.
인스턴스
튜플 값 반복:
mytuple = ("apple", "banana", "cherry") for x in mytuple: print(x)
인스턴스 실행
python_iterator_loop_1.py apple banana cherry
인스턴스
문자열의 문자 반복:
mystr = "banana" for x in mystr: print(x)
인스턴스 실행
python_iterator_loop_2.py b a n a n a
팁: for 루프는 실제로 반복자 객체를 생성합니다. 그리고 각 루프에 대해 next() 메서드를 실행합니다.
객체/클래스를 반복자로 생성하려면 객체에 대해 iter() 및 next() 메서드를 구현해야 합니다.
Python 클래스/객체 장에서 배운 것처럼 모든 클래스에는 객체를 생성할 때 일부 초기화를 수행할 수 있는 init()라는 함수가 있습니다.
iter() 메서드도 비슷하게 작동합니다. 작업(초기화 등)을 수행할 수 있지만 항상 반복자 개체 자체를 반환해야 합니다.
next() 메서드를 사용하면 작업을 수행할 수도 있으며 시퀀스의 다음 항목을 반환해야 합니다.
Instance
숫자를 반환하는 반복자를 만듭니다. 1부터 시작하여 각 시퀀스는 1씩 증가합니다(1, 2, 3, 4, 5 등을 반환).
class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self): x = self.a self.a += 1 return x myclass = MyNumbers() myiter = iter(myclass) print(next(myiter)) print(next(myiter)) print(next(myiter)) print(next(myiter)) print(next(myiter))
인스턴스 실행
python_iterator_create_1.py 1 2 3 4 5
next() 문이 충분하거나 for 루프 내에서 사용하면 위의 예는 영원히 계속됩니다.
반복이 영원히 걸리는 것을 방지하려면 StopIteration 문을 사용할 수 있습니다.
next() 메서드에서 반복이 지정된 횟수만큼 완료되면 오류를 발생시키는 종료 조건을 추가할 수 있습니다.
Instance
20회 반복 후 중지:
class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self): if self.a <= 20: x = self.a self.a += 1 return x else: raise StopIteration myclass = MyNumbers() myiter = iter(myclass) for x in myiter: print(x)
인스턴스 실행
python_iterator_create_2.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
위 내용은 Python 반복자란 무엇이며 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!