![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=1738969114-CuNYSrd2DJN6XZoDqYvgT2KppVCN0QOM-0-0be266e2561981edcc21d005d4a63aab)
我们发现list对象实现了__iter__方法,list对象就是可迭代(Iterable)对象。
我们还可以通过调用Python内置函数isinstance()来判断一个对象是否属于可迭代(Iterable)对象。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image89.jpg?sign=1738969114-MwceU0ISa1ztkhyCMGdDzySWeTB4KQSL-0-df4803d88aa720996e7286e1f1850485)
我们发现一个数字是不可迭代的,而一个range对象是可迭代的,集合也是可迭代的。