來源:北大青鳥總部 2020年08月24日 13:36
何謂可迭代對象,何謂迭代器,它們之間關(guān)系如何?先談?wù)勥@幾個概念
可迭代對象(Iterables)
__iter __()方法,該方法必須返回迭代器對象
而 __next()__方法,則借助它調(diào)用的迭代器
可迭代對象可以是任何對象,不一定是可以返回迭代器的數(shù)據(jù)結(jié)構(gòu),其主要目的是返回其所有元素
可迭代可表示有限和無限的數(shù)據(jù)源
一個可迭代的對象將直接或間接定義兩個方法:
迭代器(Iterators)
python中的Iterator是一個對象,用于迭代列表,元組,字典和集合之類的可迭代對象
使用 iter() 方法初始化 Iterator 對象。 它使用 next()方法進行迭代
__iter(iterable)__ 方法 用于初始化迭代器,返回一個迭代器對象
next ( __next__ in Python 3)方法, next() 返回可迭代對象的下一個值,當我們使用for循環(huán)遍歷任何可迭代對象時,在內(nèi)部它會使用 iter() 方法獲取一個迭代器對象,該對象進一步使用 next() 方法進行迭代。 此方法會在迭代結(jié)束引發(fā) StopIteration表示迭代結(jié)束