제너레이터 객체

Generator objects are what Python uses to implement generator iterators. They are normally created by calling a generator function, rather than explicitly calling PyGen_New() or PyGen_NewWithQualName().

type PyGenObject

제너레이터 객체에 사용되는 C 구조체.

PyTypeObject PyGen_Type

제너레이터 객체에 해당하는 형 객체

int PyGen_Check(PyObject *ob)

ob가 제너레이터 객체면 참을 돌려줍니다; ob는 NULL이 아니어야 합니다. 이 함수는 항상 성공합니다.

int PyGen_CheckExact(PyObject *ob)

ob의 형이 PyGen_Type이면 참을 돌려줍니다; ob는 NULL이 아니어야 합니다. 이 함수는 항상 성공합니다.

PyObject *PyGen_New(PyFrameObject *frame)
반환값: 새 참조.

Create and return a new generator object based on the frame object. A reference to frame is “stolen” by this function (even on error). The argument must not be NULL.

Deprecated since version 3.16, will be removed in version 3.18: This function has not been used since 3.10. It is also impossible to construct a proper frame object to call this function.

PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
반환값: 새 참조.

Create and return a new generator object based on the frame object, with __name__ and __qualname__ set to name and qualname. A reference to frame is “stolen” by this function (even on error). The frame argument must not be NULL.

Deprecated since version 3.16, will be removed in version 3.18: This function has not been used since 3.10. It is also impossible to construct a proper frame object to call this function.

PyCodeObject *PyGen_GetCode(PyGenObject *gen)

Return a new strong reference to the code object wrapped by gen. This function always succeeds.

Asynchronous Generator Objects

더 보기

PEP 525

PyTypeObject PyAsyncGen_Type

The type object corresponding to asynchronous generator objects. This is available as types.AsyncGeneratorType in 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 (even on error) and must not be NULL.

On success, this function returns a strong reference to the new asynchronous generator. On failure, this function returns NULL with an exception set.

Added in version 3.6.

Deprecated since version 3.16, will be removed in version 3.18: This function has not been used since 3.10. It is also impossible to construct a proper frame object to call this function.

int PyAsyncGen_CheckExact(PyObject *op)

Return true if op is an asynchronous generator object, false otherwise. This function always succeeds.

Added in version 3.6.

Deprecated API

PyAsyncGenASend_CheckExact(op)

This is an API that was included in Python’s C API by mistake.

It is solely here for completeness; do not use this API.

Soft deprecated since version 3.14.