python 3-3如何使用生成器函数实现可迭代对象

重点是yield的使用,传说中的生成器,主要看yield后面的值,就是遍历输出的值

class PrimeNum:
    def __init__(self, start, end):
        self.start = start
        self.end = end

    def isPrime(self, k):
        if k < 2:
            return False
        for x in range(2, k):
            if k % x == 0:
                return False
        return True

    def __iter__(self):
        for x in range(self.start, self.end + 1):
            if self.isPrime(x):
                yield x

for x in PrimeNum(1, 100):
    print(x)