真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python使用生成器實現(xiàn)可迭代對象-創(chuàng)新互聯(lián)

本文實例為大家分享了python使用生成器實現(xiàn)可迭代對象的具體代碼,供大家參考,具體內(nèi)容如下

成都創(chuàng)新互聯(lián)公司專注于南湖網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供南湖營銷型網(wǎng)站建設(shè),南湖網(wǎng)站制作、南湖網(wǎng)頁設(shè)計、南湖網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造南湖網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南湖網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

案例分析:    

        實一個可迭代對象的類,它能迭代出給定范圍內(nèi)所有的素數(shù):

              pn = Number(1, 30)

              for k in pn:

                     print(k)

       結(jié)果為:2,3,5,7,11,13,17,19,23,29

如何解決這個問題?

將該類的__iter__方法實現(xiàn)成生成器函數(shù),每次yield返回一個素數(shù)

#!/usr/bin/python3
 
 
class Number(object):
 def __init__(self, start, end):
  self.start = start
  self.end = end
   
 # 判斷一個數(shù)字是否是素數(shù)
 def get_num(self, k):
  if k >= 2:
   for i in range(2, k):
    if k % i == 0:
     return False
   return True
  
 def __iter__(self):
  for k in range(self.start, self.end+1):
   if self.get_num(k):
    # 是素數(shù)yield出去
    yield k
     
if __name__ == '__main__':
 num = Number(2, 30)
 for i in num:
  print(i)

文章名稱:python使用生成器實現(xiàn)可迭代對象-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/dsohcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部