根据您要迭代的内容,有多个迭代器类:
>>> import re
>>> re.finditer("\d+","1 ha 2 bah").__class__
terator'>
>>> iter([1,2]).__class__
terator'>
>>> iter("hurm").__class__
terator'>
两个问题:
最佳答案
作为迭代器意味着实现迭代器协议,而不是特定类的成员 – 迭代器就像迭代器一样.您可以编写自己的自定义类作为迭代器,它们不会是您列出的任何类.
从“作为迭代器”的角度来看,它们之间没有区别.它们都是迭代器,这意味着你可以迭代它们.它们之间当然可能存在其他差异 – 它们可能还有其他方法或行为定义 – 但作为迭代器的迭代器它们是相同的.
您可以将迭代器视为某种“知道如何”迭代特定数据结构的doodad.不同类型的数据结构可能有自己的自定义类来迭代它们;这些迭代器可能会做不同的事情,但都共享相同的公共接口(迭代器协议).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。