python – callable-iterator和listiterator和迭代器之间的区别?

前端之家收集整理的这篇文章主要介绍了python – callable-iterator和listiterator和迭代器之间的区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

根据您要迭代的内容,有多个迭代器类:

>>> import re
>>> re.finditer("\d+","1 ha 2 bah").__class__

两个问题:

>他们之间有什么有意义的区别吗?
>为什么第一个称为可调用迭代器?你绝对不能称之为.

最佳答案
作为迭代器意味着实现迭代器协议,而不是特定类的成员 – 迭代器就像迭代器一样.您可以编写自己的自定义类作为迭代器,它们不会是您列出的任何类.

从“作为迭代器”的角度来看,它们之间没有区别.它们都是迭代器,这意味着你可以迭代它们.它们之间当然可能存在其他差异 – 它们可能还有其他方法或行为定义 – 但作为迭代器的迭代器它们是相同的.

您可以将迭代器视为某种“知道如何”迭代特定数据结构的doodad.不同类型的数据结构可能有自己的自定义类来迭代它们;这些迭代器可能会做不同的事情,但都共享相同的公共接口(迭代器协议).

原文链接:https://www.f2er.com/python/439633.html

猜你在找的Python相关文章