python使用生成器實(shí)現(xiàn)可迭代對(duì)象
本文實(shí)例為大家分享了python使用生成器實(shí)現(xiàn)可迭代對(duì)象的具體代碼,供大家參考,具體內(nèi)容如下
案例分析:
實(shí)一個(gè)可迭代對(duì)象的類,它能迭代出給定范圍內(nèi)所有的素?cái)?shù):
pn = Number(1, 30)
for k in pn:
print(k)
結(jié)果為:2,3,5,7,11,13,17,19,23,29
如何解決這個(gè)問(wèn)題?
將該類的__iter__方法實(shí)現(xiàn)成生成器函數(shù),每次yield返回一個(gè)素?cái)?shù)
#!/usr/bin/python3
class Number(object):
def __init__(self, start, end):
self.start = start
self.end = end
# 判斷一個(gè)數(shù)字是否是素?cái)?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):
# 是素?cái)?shù)yield出去
yield k
if __name__ == '__main__':
num = Number(2, 30)
for i in num:
print(i)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python生成器,可迭代對(duì)象,迭代器區(qū)別和聯(lián)系
- 淺談Python中的可迭代對(duì)象、迭代器、For循環(huán)工作機(jī)制、生成器
- python中的迭代和可迭代對(duì)象代碼示例
- Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從任意長(zhǎng)度的可迭代對(duì)象中分解元素操作示例
- ES6 迭代器與可迭代對(duì)象的實(shí)現(xiàn)
- Python可迭代對(duì)象操作示例
- 詳解Python中的內(nèi)建函數(shù),可迭代對(duì)象,迭代器
- 一篇文章弄懂Python中的可迭代對(duì)象、迭代器和生成器
相關(guān)文章
Python復(fù)合賦值運(yùn)算符由淺入深實(shí)例探究
這篇文章主要為大家介紹了Python復(fù)合賦值運(yùn)算符由淺入深實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
pygame實(shí)現(xiàn)井字棋之第三步邏輯優(yōu)化
這篇文章主要介紹了pygame實(shí)現(xiàn)井字棋之第三步邏輯優(yōu)化,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們也有非常好的幫助,需要的朋友可以參考下2021-05-05
Python搭建監(jiān)控平臺(tái)的實(shí)現(xiàn)示例
本文主要介紹了Python搭建監(jiān)控平臺(tái)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Python實(shí)現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài)【推薦】
今天主要是來(lái)說(shuō)一下怎么可視化來(lái)監(jiān)控你的爬蟲的狀態(tài)。文中通過(guò)實(shí)例代碼給大家分析了Python實(shí)現(xiàn)數(shù)據(jù)可視化看如何監(jiān)控你的爬蟲狀態(tài),感興趣的朋友一起看看吧2018-08-08
Python辦公自動(dòng)化解決world文件批量轉(zhuǎn)換
本文分享如何用 Python 來(lái)讀取 Word、寫入 Word、將 Word 轉(zhuǎn)換為 pdf。學(xué)會(huì)之后,如果遇到大量 Word 文件需要處理的時(shí)候,就不慌了2021-09-09
如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密
這篇文章主要介紹了如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python實(shí)現(xiàn)跨域代理服務(wù)器的方法
這篇文章主要介紹了python實(shí)現(xiàn)跨域代理服務(wù)器的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07

