在Python中,可迭代對象是具有__iter__
方法的對象,而迭代器是具有__next__
方法和__iter__
方法的對象。迭代器是可迭代對象的一種特殊形式,所以任何迭代器也是可迭代對象,但不是所有可迭代對象都是迭代器。
當(dāng)我們使用for
循環(huán)或者next()
函數(shù)來遍歷一個可迭代對象時,實際上是在調(diào)用可迭代對象的__iter__
方法,獲得一個迭代器,然后通過迭代器的__next__
方法來依次獲取對象中的元素。因此,迭代器和可迭代對象之間是相關(guān)聯(lián)的,迭代器是用來遍歷可迭代對象的工具。