by shigemk2

当面は技術的なことしか書かない

エキスパートPythonプログラミング 自作イテレータ

10-223836.py

イテレータそのものは、低レベルな機能と概念であるため、
イテレータを使わなくてもプログラムを作成することは可能である。

# -*- coding: euc-jp -*-"
class MyIterator(object):
    def __init__(self, step):
        self.step = step

    def next(self):
        """Returns the next element."""
        if self.step == 0:
            raise StopIteration
        self.step -= 1
        return self.step
    # __next__ = next # Python3系用
    def __iter__(self):
        """Returns the next element."""
        return self

for el in MyIterator(4):
    print(el)

# 3
# 2
# 1
# 0