- Python程序设计教程(第2版)
- 郑戟明 柳青 杨年华
- 214字
- 2020-11-23 18:11:20
4.4.2 迭代器(Iterator)
实现了__iter__方法和__next__方法,并且可以通过__next__方法不断返回下一个值的对象称为迭代器(Iterator)。迭代器(Iterator)还可以通过内置函数next()访问下一个元素。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image90.jpg?sign=1734394510-CnxfCNjLEWwTZPonklDC5GsVs9tNSQ9x-0-d4a5f8de3354f9c9a1351c200c968828)
列表、元组、字符串、字典、集合实现了__iter__方法,但并未实现__next__方法,这些对象均不能称为迭代器(Iterator)。
我们还是可以通过调用Python内置函数isinstance()来判断一个对象是否属于迭代器(Iterator)。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image91.jpg?sign=1734394510-9VqwTrkqeSLmTxe9Bjhw09EX2zBCSF3W-0-f7ed19c3cae978774d54582a9494f347)
虽然列表、元组、字符串、字典、集合都是可迭代(Iterable)对象而不是迭代器(Iterator),但可以通过iter()函数获得一个迭代器(Iterator)。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image92.jpg?sign=1734394510-uVraEgHk5h8wAJkrBEelrIcZljktWRmm-0-4e95db4ffb56048db876aa865e8f7704)