ジェネレータオブジェクト¶
ジェネレータオブジェクトは、 Python がジェネレータイテレータを実装するのに使っているオブジェクトです。ジェネレータオブジェクトは通常、 PyGen_New() や PyGen_NewWithQualName() の明示的な呼び出しではなく、値を yield する関数のイテレーションにより生成されます。
-
type PyGenObject¶
ジェネレータオブジェクトに使われている C 構造体です。
-
PyTypeObject PyGen_Type¶
ジェネレータオブジェクトに対応する型オブジェクトです。
-
int PyGen_CheckExact(PyObject *ob)¶
ob が
PyGen_Typeの場合に真を返します。 o はNULLであってはなりません。 この関数は常に成功します。
-
PyObject *PyGen_New(PyFrameObject *frame)¶
- 戻り値: 新しい参照。
frame オブジェクトに基づいて新たなジェネレータオブジェクトを生成して返します。 この関数は frame への参照を盗みます。 引数が
NULLであってはなりません。
-
PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)¶
- 戻り値: 新しい参照。
frame オブジェクトから新たなジェネレータオブジェクトを生成し、
__name__と__qualname__を name と qualname に設定して返します。 この関数は frame への参照を盗みます。 frame 引数はNULLであってはなりません。
-
PyCodeObject *PyGen_GetCode(PyGenObject *gen)¶
Return a new strong reference to the code object wrapped by gen. This function always succeeds.
Asynchronous Generator Objects¶
参考
-
PyTypeObject PyAsyncGen_Type¶
The type object corresponding to asynchronous generator objects. This is available as
types.AsyncGeneratorTypein the Python layer.Added in version 3.6.
-
PyObject *PyAsyncGen_New(PyFrameObject *frame, PyObject *name, PyObject *qualname)¶
Create a new asynchronous generator wrapping frame, with
__name__and__qualname__set to name and qualname. frame is stolen by this function and must not beNULL.On success, this function returns a strong reference to the new asynchronous generator. On failure, this function returns
NULLwith an exception set.Added in version 3.6.