필기 파이썬 반복자

분석

  • 우리 모두는 ITER에 의한 반복자는 () 반복자를 반환 할 수 있다는 것을 알고.
  • 당신이 사용할 수있는 반복 가능한라는 개체를 원하는 경우에, 당신은 __iter의 __ () 메소드를 구현해야합니다.
  • 개체의 인스턴스에서는 반복자 클래스, 그것은 __iter의 __ ()와 __next의 __ () 메소드를 구현해야되고 싶어.
  • 당신이 ITER ()를 호출하면, 기본 __iter의 __ (호출 객체)의 내부, 즉 __iter __ () 반환 값은 반복자이어야한다.
  • 각주기, 또는 다음 (시간)의 경우, 반복자 __next의 __ () 메소드와 반환 값 전화를 자동으로됩니다.

    실현

class Classmate:
    def __init__(self):
        self.names = []
        self.num = 0

    def add(self, name):
        self.names.append(name)

    def __iter__(self):
        return self

    def __next__(self):
        if self.num < len(self.names):
            ret = self.names[self.num]
            self.num += 1
            return ret
        else:
            raise StopIteration

c = Classmate()
c.add("张三")
c.add("李四")
c.add("王五")
for i in c:
    print(i)
"""
张三
李四
王五
"""

추천

출처www.cnblogs.com/lxy0/p/11411026.html