可叠代對象的要素包括列表、元組、字典、字符串。
可叠代對象是指使用iter內置函數可以獲取叠代器的對象。如果對象實現了能返回叠代器的iter方法,那麽對象是可叠代的;序列都可以叠代;實現了getitem方法,而且其參數是從0開始的索引,這種對象也可叠代。
pyton從可叠代的對象中獲取叠代器。叠代器只需next和iter兩個方法,所以除了調用next方法,以及補貨StopIterator異常之外,沒有辦法檢查是否還有遺留的元素。
判斷對象可叠代的方法
最準確的方法:調用iter(x)函數,如果不可叠代,拋出TypeError異常(iter兼容遺留的getitem方法)。
不兼容的方法:使用abc.Iterable進行判斷python class Foo: def iter (self):pass from collections import abc issubclass(Foo, abc.Iterable)True f = Foo()isinstance(f,abc.Iterable)。