python 將物件設定為可迭代有兩種實現方式:
1,實現 __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
呼叫的時候,系統預設從0 開始傳入,並使得i=i+1
2,實現
__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 將物件設定為可迭代的兩種實現方法
1 實現 getitem class library object def init self self.value a b c d e def getitem self,i if i len se raise indexerror out of index v程式設計客棧alue self.val...
Python 可迭代物件
1.可迭代物件 以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別 如 list tuple dict set str等 一類是generator,包括生成器和帶yield 的 generator function 這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 2...
python可迭代物件
0 在python中只要是能用for in的,都是可迭代物件,讓我們看下定義 定義 我們已經知道可以對list tuple dict set str等型別的資料使用for in 的迴圈語法,會從其中依次拿到資料元素進行使用,我們把這樣的過程稱為遍歷,也叫迭代。所以我們把可以通過for in 這類語句...