Đối tượng máy phát điện

Các đối tượng trình tạo là những gì Python sử dụng để triển khai các trình vòng lặp của trình tạo. Chúng thường được tạo bằng cách lặp qua một hàm mang lại giá trị, thay vì gọi rõ ràng PyGen_New() hoặc PyGen_NewWithQualName().

type PyGenObject

Cấu trúc C được sử dụng cho các đối tượng tạo.

PyTypeObject PyGen_Type

Đối tượng loại tương ứng với các đối tượng trình tạo.

int PyGen_Check(PyObject *ob)

Trả về true nếu ob là đối tượng trình tạo; ob không được là NULL. Chức năng này luôn thành công.

int PyGen_CheckExact(PyObject *ob)

Trả về true nếu loại của obPyGen_Type; ob không được là NULL. Chức năng này luôn thành công.

PyObject *PyGen_New(PyFrameObject *frame)
Giá trị trả về: Tham chiếu mới.

Tạo và trả về một đối tượng trình tạo mới dựa trên đối tượng frame. Một tham chiếu đến frame bị đánh cắp bởi chức năng này. Đối số không được là NULL.

PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
Giá trị trả về: Tham chiếu mới.

Tạo và trả về một đối tượng trình tạo mới dựa trên đối tượng frame, với __name____qualname__ được đặt thành namequalname. Một tham chiếu đến frame bị đánh cắp bởi chức năng này. Đối số frame không được là NULL.

PyCodeObject *PyGen_GetCode(PyGenObject *gen)

Trả về một strong reference mới cho đối tượng mã được bao bọc bởi gen. Chức năng này luôn thành công.

Đối tượng tạo không đồng bộ

Xem thêm

PEP 525

PyTypeObject PyAsyncGen_Type

Đối tượng loại tương ứng với các đối tượng trình tạo không đồng bộ. Điều này có sẵn dưới dạng types.AsyncGeneratorType trong lớp Python.

Added in version 3.6.

PyObject *PyAsyncGen_New(PyFrameObject *frame, PyObject *name, PyObject *qualname)

Tạo một trình tạo không đồng bộ mới gói frame, với __name____qualname__ được đặt thành namequalname. frame bị chức năng này đánh cắp và không được là NULL.

Nếu thành công, hàm này trả về strong reference cho trình tạo không đồng bộ mới. Nếu thất bại, hàm này trả về NULL với một bộ ngoại lệ.

Added in version 3.6.

int PyAsyncGen_CheckExact(PyObject *op)

Trả về true nếu op là đối tượng trình tạo không đồng bộ, nếu không thì trả về false. Chức năng này luôn thành công.

Added in version 3.6.

API không được dùng nữa

PyAsyncGenASend_CheckExact(op)

Đây là một soft deprecated API được đưa nhầm vào C API của Python.

Nó chỉ ở đây để có được sự trọn vẹn; không sử dụng API này.