class mylist(object):
def __init__(self,item=):
self.item=item
def __iter__(self):
myiterator=myiterator(self)#使當前物件返回乙個迭代器
return myiterator
def add(self,val):
#__iter__方法會返回乙個可迭代物件
#如果同時有__iter__和__next__方法,會返回乙個迭代器
class myiterator(object):
def __init__(self,mylist):
self.mylist=mylist
self.current=0
def __iter__(self):
return self
def __next__(self):
if self.currentitem=self.mylist.items[self.current]
self.current+=1#依次取值,類似於計數器
return item
else:#超出索引,停止迭代異常
raise stopiteration
python迭代 可迭代物件與迭代器物件
問題舉例 某軟體要求,從網路抓取各個城市的氣溫資訊,並依次顯示 北京 15 22 上海 18 23 如果一次抓取所有城市氣溫資訊再顯示,顯示第乙個城市的氣溫時會由很長的延時,並且浪費儲存空間,我們期望以 用時訪問 的策略,並且把所有城市的氣溫資訊封裝 到乙個物件裡,可用for語句進行迭代。來個栗子 ...
python迭代物件和迭代器
一.迭代物件 1.概念 迭代物件 可以直接作用於for迴圈的物件統稱為可迭代物件 iterable。2.可以直接作用於for迴圈的資料型別 1 集合類資料型別,如list,tuple,dict,set,str等 2 generator,包括生成器和帶yield的generator function....
Python 迭代物件與迭代器
可迭代物件 iterable 可以直接作用於for迴圈的物件統稱為可迭代物件。可以用isinstance 去判斷乙個物件是否是可迭代物件 iterable 可以直接作用於for的資料型別一般分兩種 1 集合資料型別,如list tuple dict set string 2 generator,包括...