python 將對象設(shè)置為可迭代的兩種實現(xiàn)方法
更新時間:2019年01月21日 10:31:31 作者:ZhanYunQI
今天小編就為大家分享一篇python 將對象設(shè)置為可迭代的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
1、實現(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)用的時候,系統(tǒng)默認(rèn)從0 開始傳入,并使得i=i+1
2、實現(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 將對象設(shè)置為可迭代的兩種實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python時間管理黑科技之datetime函數(shù)詳解
在Python中,datetime模塊是處理日期和時間的標(biāo)準(zhǔn)庫,它提供了一系列功能強大的函數(shù)和類,用于處理日期、時間、時間間隔等,本文將深入探討datetime模塊的使用方法,感興趣的可以了解下2023-08-08基于python實現(xiàn)自動化辦公學(xué)習(xí)筆記(CSV、word、Excel、PPT)
這篇文章主要介紹了基于python實現(xiàn)自動化辦公學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python的Django REST框架中的序列化及請求和返回
這篇文章主要介紹了Python的Django REST框架中的序列化及請求和返回,使用Django REST來實現(xiàn)RESTful web service非常方便和強大,需要的朋友可以參考下2016-04-04python 多線程實現(xiàn)多任務(wù)的方法示例
本文主要介紹了python 多線程實現(xiàn)多任務(wù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07