Đối tượng MemoryView

Đối tượng memoryview hiển thị buffer interface cấp C dưới dạng đối tượng Python, sau đó có thể được truyền đi xung quanh như bất kỳ đối tượng nào khác.

PyTypeObject PyMemoryView_Type
Một phần của ABI ổn định.

Phiên bản PyTypeObject này đại diện cho kiểu xem bộ nhớ Python. Đây là đối tượng tương tự như memoryview trong lớp Python.

PyObject *PyMemoryView_FromObject(PyObject *obj)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Tạo một đối tượng Memoryview từ một đối tượng cung cấp giao diện bộ đệm. Nếu obj hỗ trợ xuất bộ đệm có thể ghi, đối tượng Memoryview sẽ ở chế độ đọc/ghi, nếu không, nó có thể ở chế độ chỉ đọc hoặc đọc/ghi theo quyết định của nhà xuất khẩu.

PyBUF_READ
Một phần của ABI ổn định kể từ phiên bản 3.11.

Gắn cờ để yêu cầu bộ đệm chỉ đọc.

PyBUF_WRITE
Một phần của ABI ổn định kể từ phiên bản 3.11.

Gắn cờ để yêu cầu bộ đệm có thể ghi.

PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định kể từ phiên bản 3.7.

Tạo đối tượng MemoryView bằng cách sử dụng mem làm bộ đệm cơ bản. flags có thể là một trong PyBUF_READ hoặc PyBUF_WRITE.

Added in version 3.3.

PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định kể từ phiên bản 3.11.

Tạo một đối tượng Memoryview bao bọc cấu trúc bộ đệm đã cho view. Đối với bộ đệm byte đơn giản, PyMemoryView_FromMemory() là hàm ưu tiên.

PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Tạo một đối tượng MemoryView cho một đoạn bộ nhớ contiguous (ở dạng 'C' hoặc 'F'ortran order) từ một đối tượng xác định giao diện bộ đệm. Nếu bộ nhớ liền kề, đối tượng MemoryView sẽ trỏ đến bộ nhớ gốc. Nếu không, một bản sao sẽ được tạo và chế độ xem bộ nhớ trỏ đến một đối tượng byte mới.

buffertype có thể là một trong PyBUF_READ hoặc PyBUF_WRITE.

int PyMemoryView_Check(PyObject *obj)

Trả về true nếu đối tượng obj là đối tượng Memoryview. Hiện tại không được phép tạo các lớp con của memoryview. Chức năng này luôn thành công.

Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)

Trả về một con trỏ tới bản sao riêng tư của bộ đệm của nhà xuất khẩu trong bộ nhớ. mview must là một phiên bản xem bộ nhớ; macro này không kiểm tra loại của nó, bạn phải tự làm điều đó nếu không bạn sẽ có nguy cơ gặp sự cố.

PyObject *PyMemoryView_GET_BASE(PyObject *mview)

Trả về một con trỏ tới đối tượng xuất mà chế độ xem bộ nhớ dựa trên hoặc NULL nếu chế độ xem bộ nhớ được tạo bởi một trong các hàm PyMemoryView_FromMemory() hoặc PyMemoryView_FromBuffer(). mview must là một ví dụ về chế độ xem bộ nhớ.