实现一个可迭代对象的类,它能迭代出给定范围内所有素数
实现方法:将该类的__iter__方法实现生成器函数,每次yield返回一个素数
1 class PrimeNumbers: 2 def __init__(self,start,end): 3 self.start = start 4 self.end = end 5 6 def isPrimeNum(self,k): 7 if k < 2: 8 return False 9 for i in xrange(2,k): 10 if k % i == 0: 11 return False 12 13 return True 14 15 def __iter__(self): 16 for k in xrange(self.start,self.end + 1): 17 if self.isPrimeNum(k): 18 yield k 19 20 if __name__ == "__main__": 21 for x in PrimeNumbers(1,100): 22 print x