python六十四: 迭代器协议
生活随笔
收集整理的這篇文章主要介紹了
python六十四: 迭代器协议
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? 迭代器協(xié)議是指:對象必須提供一個next方法,執(zhí)行該方法要么返回迭代中的下一項,要么就引起一個StopIteration異常,以終止迭代。(只能往后走,不能往前退)。
? ? 可迭代對象:實現(xiàn)了迭代器協(xié)議的對象。(如何實現(xiàn):對象內(nèi)部定義一個__iter__()方法)。
? ? 協(xié)議是一種約定,可迭代對象實現(xiàn)了迭代器協(xié)議,python的內(nèi)部工具(如for循環(huán),sum,min,max等函數(shù))使用迭代器協(xié)議訪問對象。
class Foo:n = 0l = list('tianxia')len = l.__len__()def __iter__(self):return selfdef __next__(self):if self.n == self.len:raise StopIteration('終止')s = self.l.pop(0)self.n += 1return sf1 = Foo() for i in f1:print(i)?
總結
以上是生活随笔為你收集整理的python六十四: 迭代器协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构--数组
- 下一篇: websocket python爬虫_p