迭代器对象 — Python 文档
来自菜鸟教程
Python/docs/3.9/c-api/iterator
迭代器对象
Python 提供了两个通用的迭代器对象。 第一个是序列迭代器,与支持 __getitem__()
方法的任意序列一起工作。 第二个使用可调用对象和标记值,为序列中的每个项目调用可调用对象,并在返回标记值时结束迭代。
- PyTypeObject PySeqIter_Type
- PySeqIter_New() 返回的迭代器对象的类型对象和内置序列类型的 iter() 内置函数的单参数形式。
- int PySeqIter_Check(op)
- 如果 op 的类型为 PySeqIter_Type,则返回 true。 此功能总是成功。
- 返回一个与通用序列对象 seq 一起工作的迭代器。 当序列为下标操作引发 IndexError 时,迭代结束。
- PyTypeObject PyCallIter_Type
- PyCallIter_New() 和 iter() 内置函数的两个参数形式返回的迭代器对象的类型对象。
- int PyCallIter_Check(op)
- 如果 op 的类型为 PyCallIter_Type,则返回 true。 此功能总是成功。
- 返回一个新的迭代器。 第一个参数,callable,可以是任何可以不带参数调用的Python可调用对象; 每次调用它都应该返回迭代中的下一个项目。 当 callable 返回的值等于 sentinel 时,迭代将终止。