![Python程序设计教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/531/34752531/b_34752531.jpg)
上QQ阅读APP看书,第一时间看更新
4.4.2 迭代器(Iterator)
实现了__iter__方法和__next__方法,并且可以通过__next__方法不断返回下一个值的对象称为迭代器(Iterator)。迭代器(Iterator)还可以通过内置函数next()访问下一个元素。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image90.jpg?sign=1738937669-Equ30TgffVvF6AXKsZ2ZQsVQ66kQDFSM-0-6212e42faf4374f84d138a6e54d7cc99)
列表、元组、字符串、字典、集合实现了__iter__方法,但并未实现__next__方法,这些对象均不能称为迭代器(Iterator)。
我们还是可以通过调用Python内置函数isinstance()来判断一个对象是否属于迭代器(Iterator)。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image91.jpg?sign=1738937669-8K7wVvnYtm3E8S7xDkvLfjms5jXg2EgM-0-c5fbb15da9ef99f2a9a344fd6b274b3a)
虽然列表、元组、字符串、字典、集合都是可迭代(Iterable)对象而不是迭代器(Iterator),但可以通过iter()函数获得一个迭代器(Iterator)。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image92.jpg?sign=1738937669-21j6685ExPAyFMdQuNAgC7JFiZbdo4FP-0-806728cc6d5c227b65206b1b6822e30a)