è¿ä»£å™¨å¯¹è±¡Â¶
Python æ��供了两个通用è¿ä»£å™¨å¯¹è±¡ã€‚ 第一个是åº�列è¿ä»£å™¨ï¼Œå®ƒå�¯ä¸Žæ”¯æŒ� __getitem__() 方法的任æ„�åº�列一起使用。 第二个è¿ä»£å™¨ä½¿ç”¨ä¸€ä¸ªå�¯è°ƒç”¨å¯¹è±¡å’Œä¸€ä¸ªå“¨å…µå€¼ï¼Œä¸ºåº�列ä¸çš„æ¯�个项目调用å�¯è°ƒç”¨å¯¹è±¡ï¼Œå¹¶åœ¨è¿”回哨兵值时结æ�Ÿè¿ä»£ã€‚
-
PyTypeObject PySeqIter_Type¶
- 属于 稳定 ABI.
PySeqIter_New()返回è¿ä»£å™¨å¯¹è±¡çš„类型对象和内置åº�列类型内置函数iter()çš„å�•å�‚æ•°å½¢å¼�。
-
int PySeqIter_Check(PyObject *op)¶
如果 op 的类型为
PySeqIter_Type则返回真值。 æ¤å‡½æ•°æ€»æ˜¯ä¼šæˆ�功执行。
-
PyObject *PySeqIter_New(PyObject *seq)¶
- 返回值:新的引用。 属于 稳定 ABI.
返回一个与常规åº�列对象一起使用的è¿ä»£å™¨ seq。 当åº�列订阅æ“�作引å�‘
IndexError时,è¿ä»£ç»“æ�Ÿã€‚
-
PyTypeObject PyCallIter_Type¶
- 属于 稳定 ABI.
由函数
PyCallIter_New()å’Œiter()内置函数的å�Œå�‚æ•°å½¢å¼�返回的è¿ä»£å™¨å¯¹è±¡ç±»åž‹å¯¹è±¡ã€‚
-
int PyCallIter_Check(PyObject *op)¶
如果 op 的类型为
PyCallIter_Type则返回真值。 æ¤å‡½æ•°æ€»æ˜¯ä¼šæˆ�功执行。
-
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)¶
- 返回值:新的引用。 属于 稳定 ABI.
返回一个新的è¿ä»£å™¨ã€‚ 第一个å�‚æ•° callable å�¯ä»¥æ˜¯ä»»ä½•å�¯ä»¥åœ¨æ²¡æœ‰å�‚数的情况下调用的 Python å�¯è°ƒç”¨å¯¹è±¡ï¼›æ¯�次调用都应该返回è¿ä»£ä¸çš„下一个项目。 当 callable 返回ç‰äºŽ sentinel 的值时,è¿ä»£å°†ç»ˆæ¢ã€‚