学习使用生成函数实现可迭代对象
Posted banshaohuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习使用生成函数实现可迭代对象相关的知识,希望对你有一定的参考价值。
实现一个可迭代对象的类,它能迭代出给定范围内所有素数
实现方法:将该类的__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
以上是关于学习使用生成函数实现可迭代对象的主要内容,如果未能解决你的问题,请参考以下文章
python:可迭代对象,迭代器,生成器函数,生成器的解析举例代码说明