Объекты-генераторы

Объекты-генераторы — это то, что Python использует для реализации итераторов-генераторов. Обычно они создаются путем повторения функции, которая возвращает значения, а не явным вызовом PyGen_New() или PyGen_NewWithQualName().

PyGenObject

Структура C, используемая для объектов-генераторов.

PyTypeObject PyGen_Type

Объект типа, соответствующий объектам генератора.

int PyGen_Check(PyObject *ob)

Возвращает истину, если ob — объект-генератор; ob не должно быть NULL.

int PyGen_CheckExact(PyObject *ob)

Возвращает истину, если тип obPyGen_Type; ob не должен быть NULL.

PyObject* PyGen_New(PyFrameObject *frame)
Return value: New reference.

Создаёт и возвращает новый объект-генератор на основе объекта frame. Ссылка на frame украдена этой функцией. Аргумент не должен быть NULL.

PyObject* PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
Return value: New reference.

Создаёт и возвращает новый объект-генератор на основе объекта frame с __name__ и __qualname__, установленными на name и qualname. Ссылка на frame украдена этой функцией. Аргумент frame не должен быть NULL.