python 物件導向 迭代器

2021-09-21 01:16:46 字數 673 閱讀 4409

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,包括...