python使用生成器实现可迭代对象

  

本文实例为大家分享了python使用生成器实现可迭代对象的具体代码,供大家参考,具体内容如下

  

<强>案例分析:强,,,,,,

  

,,,,,,,实一个可迭代对象的类,它能迭代出给定范围内所有的素数:

  

,,,,,,,,,,,,,pn=数量(30)

  

,,,,,,,,,,,,,在pn k:

  

,,,,,,,,,,,,,,,,,,,,打印(k)

  

,,,,,,结果为:2、3、5、7、11、13、17日,19日,23日,29日

  

<>强如何解决这个问题?
  

  

将该类的__iter__方法实现成生成器函数,每次收益返回一个素数

        # !/usr/bin/python3         类(对象):   def __init__(自我,开始,结束):   自我。开始=开始   自我。结束=结束      #判断一个数字是否是素数   def get_num(自我,k):   如果k祝辞=2:   因为我在范围(2 k):   如果k % i==0:   返回假   还真      def __iter__(自我):   对k范围(自我。首先,self.end + 1):   如果self.get_num (k):   #是素产量数出去   收益率k      if __name__==癬_main__”:   num=数量(30)   因为我在num:   打印(我)   之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python使用生成器实现可迭代对象