소스 코드 구현을위한

소스 코드 구현을위한

우리는 그것을 알고, 기본적으로 동일한 기능을 달성하면서 자바 반복자가 특히 골칫거리 동안 자바를 들어, 어떤 단점이 없습니다.

잠시 동안 파이썬 반복 기능을 구현하는 경우와 다르고, 또한, 처리 중의 데이터를 각각의 반복에 대한.

세 개의 개체를 반복 할 수에 대한

1. 기본적으로이 __iter__(), 반복 가능 객체 즉, 객체

class zx:
    def __init__(self):
        self.ls = [1,2,3,4]
    def __iter__(self):
        for i in self.ls:
            yield i
z=zx()
for i in z:
    print(i)

이 2. 기본적으로 __iter__()和__next__(), 그 반복자 객체입니다

class zx:
    def __init__(self):
        self.ls = [1,2,3,4]
        self.i = -1
    def __iter__(self):
        return self
    def __next__(self):
        if self.i < self.ls.__len__()-1:
            self.i+=1
            return self.ls[self.i]
        else:
            raise StopIteration
z=zx()
for i in z:
    print(i)

거기에 기본적으로 (3)__getitems__()

class zx:
    def __init__(self):
        self.ls = [1,2,3,4]
    def __getitem__(self, item):
        return self.ls[item]
z=zx()
for i in z:
    print(i)

의심

1. 당신이 반복자 객체 및 반복 오브젝트가 왜 이러한 질문이있는 경우 모르는 __iter__()방법을, 어떤 사실과 관련이 성취에 대한

2. 우리는 우리가 수동으로 알고있는 __next__()데이터의 반복이없는 경우, 그것은을보고 StopIteration나타나지 않습니다 이유는, 사실, 캡처하고 예외를 처리하는 데 도움이되었습니다에 사용,

개요

1)의 경우는 반복 가능한 ...., 제 호에 ITER (반복 가능) 함수 반복자 반복자를 반환

2) 개체를 한 번 호출주기 당 __next__(self)마지막 값까지라고 다시 StopIteration을 트리거합니다

3)하여주기를 종료 StopIteration을 캡처를 순환

1은 반복 가능 객체 호출이 점에 유의하는 __iter__()호출 반복자 객체하면서, 반복의 처음부터, 새로운 반복자 객체를 생성하는 것과 같습니다 __iter__()반환 자체 인 반복 이전에 어떤 위치, 또는 다음 반복 곳으로 계속

추천

출처www.cnblogs.com/zx125/p/11614062.html