Iterator Protocol
There are two functions specifically for working with iterators.
Return non-zero if the object o can be safely passed to
PyIter_NextItemand0otherwise. This function always succeeds.
Return non-zero if the object o provides the
AsyncIteratorprotocol, and0otherwise. This function always succeeds.3.10
Return
1and set item to astrong referenceof the next value of the iterator iter on success. Return0and set item toNULLif there are no remaining values. Return-1, set item toNULLand set an exception on error.3.14
This is an older version of
!PyIter_NextItem, which is retained for backwards compatibility. PreferPyIter_NextItem.Return the next value from the iterator o. The object must be an iterator according to
PyIter_Check(it is up to the caller to check this). If there are no remaining values, returnsNULLwith no exception set. If an error occurs while retrieving the item, returnsNULLand passes along the exception.
The enum value used to represent different results of
PyIter_Send.3.10
Sends the arg value into the iterator iter. Returns:
PYGEN_RETURNif iterator returns. Return value is returned via presult.PYGEN_NEXTif iterator yields. Yielded value is returned via presult.PYGEN_ERRORif iterator has raised an exception. presult is set toNULL.3.10
谢谢你的反馈!