Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 반복자 함수

<시간/>

설명

Iterator는 반복 프로토콜을 구현하는 파이썬의 객체입니다. 튜플, 목록, 집합은 Python에서 내장 반복자라고 합니다. 반복 프로토콜에는 두 가지 유형의 메서드가 있습니다.

__iter__() : 이 메서드는 반복자를 초기화할 때 호출되며 next() 또는 __next__()(Python 3의 경우) 메서드로 구성된 객체를 반환해야 합니다.

next() 또는 __next__()(Python 3에서) : 이 메서드는 반복 시퀀스에서 다음 요소를 반환해야 합니다. 반복자가 for 루프와 함께 사용될 때 for 루프는 반복자 객체에서 next()를 직접 호출합니다.

예시 코드

# creating a custom iterator
class Pow_of_Two:
def __init__(self, max = 0):
   self.max = max
   def __iter__(self):
      self.n = 0
      return self
      def __next__(self):
         if self.n <= self.max:
         result = 2 ** self.n
      self.n += 1
      return result
   else:
      raise StopIteration("Message")
      a = Pow_of_Two(4)
      i = iter(a)
print(i.__next__())
print(next(i))
print(next(i))
print(next(i))
print(next(i))
print(next(i))

출력

1
2
4
8
16
StopIteration error will be raised