python 將對(duì)象設(shè)置為可迭代的兩種實(shí)現(xiàn)方法
1、實(shí)現(xiàn) __getitem__(self)
class Library(object): def __init__(self): self.value=['a','b','c','d','e'] def __getitem__(self, i): if i>=len(self.value): raise IndexError("out of index") value=self.value[i] return value
調(diào)用的時(shí)候,系統(tǒng)默認(rèn)從0 開始傳入,并使得i=i+1
2、實(shí)現(xiàn) __iter__(self),next(self)
class Library2(object): def __init__(self): self.value=['a','b','c','d','e'] self.i=-1 def __iter__(self): return self def next(self): self.i += 1 if self.i>=len(self.value): raise StopIteration return self.value[self.i] test=Library2() print test.next() print test.next()
在這里可以像生成器一樣使用
以上這篇python 將對(duì)象設(shè)置為可迭代的兩種實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python導(dǎo)包模塊報(bào)錯(cuò)的問題解決
這篇文章主要介紹了Python導(dǎo)包模塊報(bào)錯(cuò)的問題解決,文章圍繞主題相關(guān)內(nèi)容詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03Python時(shí)間管理黑科技之datetime函數(shù)詳解
在Python中,datetime模塊是處理日期和時(shí)間的標(biāo)準(zhǔn)庫(kù),它提供了一系列功能強(qiáng)大的函數(shù)和類,用于處理日期、時(shí)間、時(shí)間間隔等,本文將深入探討datetime模塊的使用方法,感興趣的可以了解下2023-08-08基于python實(shí)現(xiàn)自動(dòng)化辦公學(xué)習(xí)筆記(CSV、word、Excel、PPT)
這篇文章主要介紹了基于python實(shí)現(xiàn)自動(dòng)化辦公學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python?遠(yuǎn)程執(zhí)行命令的詳細(xì)代碼
有時(shí)會(huì)需要在遠(yuǎn)程的機(jī)器上執(zhí)行一個(gè)命令,并獲得其返回結(jié)果。對(duì)于這種情況,python 可以很容易的實(shí)現(xiàn)。今天通過實(shí)例代碼介紹下python?遠(yuǎn)程執(zhí)行命令的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-02-02Python的Django REST框架中的序列化及請(qǐng)求和返回
這篇文章主要介紹了Python的Django REST框架中的序列化及請(qǐng)求和返回,使用Django REST來實(shí)現(xiàn)RESTful web service非常方便和強(qiáng)大,需要的朋友可以參考下2016-04-04python 多線程實(shí)現(xiàn)多任務(wù)的方法示例
本文主要介紹了python 多線程實(shí)現(xiàn)多任務(wù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07