可迭代:
在Python中如果一個對象有iter( )方法或getitem( )方法,則稱這個對象是可迭代的(Iterable);其中iter( )方法的作用是讓對象可以用for ... in循環遍歷,getitem( )方法是讓對象可以通過“實例名[index]”的方式訪問實例中的元素。換句話說,兩個條件只要滿足一條,就可以說對象是可迭代的。顯然列表List、元組Tuple、字典Dictionary、字符串String等數據類型都是可迭代的。當然因為Python的“鴨子類型”,我們自定義的類中只要實現了iter( )方法或getitem( )方法,也是可迭代的?!傍喿宇愋汀钡母拍钫垍⒖急鞠盗械牡诰牌恼?。
迭代器:
在Python中如果一個對象有iter( )方法和next( )方法,則稱這個對象是迭代器(Iterator);其中iter( )方法是讓對象可以用for ... in循環遍歷,next( )方法是讓對象可以通過next(實例名)訪問下一個元素。注意:這兩個方法必須同時具備,才能稱之為迭代器。列表List、元組Tuple、字典Dictionary、字符串String等數據類型雖然是可迭代的,但都不是迭代器,因為他們都沒有next( )方法。