![Python程序设计教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/531/34752531/b_34752531.jpg)
上QQ阅读APP看书,第一时间看更新
4.4 可迭代(Iterable)对象与迭代器(Iterator)
4.4.1 可迭代(Iterable)对象
我们知道列表、元组、字符串、字典可以用for…in…进行遍历。从表面来看,只要可以用for…in…进行遍历的对象就是可迭代对象,那么列表、元组、字符串、字典都是可迭代对象。实际上,如果一个对象实现了__iter__方法,那么这个对象就是可迭代(Iterable)对象。以列表为例:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image88.jpg?sign=1738957520-mPUqPuEu16tBBHCLX7CRQA2V5HEbBgdj-0-944e21afb997710b23a8d1b281548b0a)
我们发现list对象实现了__iter__方法,list对象就是可迭代(Iterable)对象。
我们还可以通过调用Python内置函数isinstance()来判断一个对象是否属于可迭代(Iterable)对象。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image89.jpg?sign=1738957520-ean0q6NMNPSAnEcP8nXr8ZAaJPFH20IN-0-b8b33eabfaace4dc7b6b51201fee0559)
我们发现一个数字是不可迭代的,而一个range对象是可迭代的,集合也是可迭代的。