迭代

正反向迭代:

class iterRange(object):
    def __init__(self, start, end, step):

        self.start = start
        self.end = end
        self.step =step

    def __iter__(self):

        v = self.start
        while v <= self.end:
            yield v
            v += self.step

    def __reversed__(self):
        v = self.end
        while v >= self.start:
            yield v
            v -= self.step


print('正向', 20*'-')
for f in iterRange(1.0, 5.0, 0.5):
    print(f)

print('反向', 20*'-')
for f in reversed(iterRange(1.0, 5.0, 0.5)):
    print(f)

 

posted @ 2019-02-22 16:49  Ray_chen  阅读(174)  评论(0)    收藏  举报