Python的迭代器协议到底是什么?

Python的迭代器协议到底是什么?,第1张

Python的迭代器协议到底是什么?

它位于这里的文档:

需要为容器对象定义一种方法以提供迭代支持

container.__iter__()

返回一个迭代器对象。需要该对象支持以下所述的迭代器协议。如果容器支持不同类型的迭代,则可以提供其他方法来专门请求那些迭代类型的迭代器。(支持多种形式的迭代的对象的示例可能是同时支持广度优先和深度优先遍历的树结构。)此方法对应

tp_iter
于Python
/ C API中Python对象的类型结构的插槽。

需要迭代器对象本身支持以下两种方法,它们共同构成了迭代器协议:

iterator.__iter__()

返回迭代器对象本身。这是必需的,以允许容器和迭代器与for和in语句一起使用。此方法对应

tp_iter
于Python / C
API中Python对象的类型结构的插槽。

iterator.__next__()

从容器返回下一个项目。如果没有其他项目,请引发StopIteration异常。此方法对应

tp_iternext
于Python / C
API中Python对象的类型结构的插槽。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存